BV8.xml 56.9 KB
Newer Older
1
<theory name="bv.BV8" realize="true"><realized><require name="why3.BuiltIn.BuiltIn"/><require name="bool.Bool"/><require name="int.Int"/><require name="int.Abs"/><require name="int.EuclideanDivision"/><require name="bv.Pow2int"/></realized><typedecl name="t" altname="t" path="bv.BV8"><params/></typedecl><param name="tqtint" altname="t&#39;int" path="bv.BV8"><fun><type name="t" local="true"/><type name="Int.int"/></fun></param><param name="nth" altname="nth" path="bv.BV8"><fun><type name="t" local="true"/><type name="Int.int"/><type name="HOL.bool"/></fun></param><lemma name="nth_out_of_bound" altname="nth_out_of_bound" path="bv.BV8"><prems><app><const name="HOL.disj"/><app><const name="Orderings.ord_class.less"/><var name="n"><type name="Int.int"/></var><num val="0"><type name="Int.int"/></num></app><app><const name="Orderings.ord_class.less_eq"/><num val="8"><type name="Int.int"/></num><var name="n"><type name="Int.int"/></var></app></app></prems><concls><app><const name="HOL.eq"/><app><const name="nth" local="true"><fun><type name="t" local="true"/><type name="Int.int"/><type name="HOL.bool"/></fun></const><var name="x"><type name="t" local="true"/></var><var name="n"><type name="Int.int"/></var></app><const name="HOL.False"/></app></concls></lemma><param name="zeros" altname="zeros" path="bv.BV8"><type name="t" local="true"/></param><lemma name="Nth_zeros" altname="Nth_zeros" path="bv.BV8"><prems/><concls><app><const name="HOL.eq"/><app><const name="nth" local="true"><fun><type name="t" local="true"/><type name="Int.int"/><type name="HOL.bool"/></fun></const><const name="zeros" local="true"><type name="t" local="true"/></const><var name="n"><type name="Int.int"/></var></app><const name="HOL.False"/></app></concls></lemma><param name="one" altname="one" path="bv.BV8"><type name="t" local="true"/></param><param name="ones" altname="ones" path="bv.BV8"><type name="t" local="true"/></param><lemma name="Nth_ones" altname="Nth_ones" path="bv.BV8"><prems><app><const name="Orderings.ord_class.less_eq"/><num val="0"><type name="Int.int"/></num><var name="n"><type name="Int.int"/></var></app><app><const name="Orderings.ord_class.less"/><var name="n"><type name="Int.int"/></var><num val="8"><type name="Int.int"/></num></app></prems><concls><app><const name="HOL.eq"/><app><const name="nth" local="true"><fun><type name="t" local="true"/><type name="Int.int"/><type name="HOL.bool"/></fun></const><const name="ones" local="true"><type name="t" local="true"/></const><var name="n"><type name="Int.int"/></var></app><const name="HOL.True"/></app></concls></lemma><param name="bw_and" altname="bw_and" path="bv.BV8"><fun><type name="t" local="true"/><type name="t" local="true"/><type name="t" local="true"/></fun></param><lemma name="Nth_bw_and" altname="Nth_bw_and" path="bv.BV8"><prems><app><const name="Orderings.ord_class.less_eq"/><num val="0"><type name="Int.int"/></num><var name="n"><type name="Int.int"/></var></app><app><const name="Orderings.ord_class.less"/><var name="n"><type name="Int.int"/></var><num val="8"><type name="Int.int"/></num></app></prems><concls><app><const name="HOL.eq"/><app><const name="nth" local="true"><fun><type name="t" local="true"/><type name="Int.int"/><type name="HOL.bool"/></fun></const><app><const name="bw_and" local="true"><fun><type name="t" local="true"/><type name="t" local="true"/><type name="t" local="true"/></fun></const><var name="v1"><type name="t" local="true"/></var><var name="v2"><type name="t" local="true"/></var></app><var name="n"><type name="Int.int"/></var></app><app><const name="HOL.conj"/><app><const name="nth" local="true"><fun><type name="t" local="true"/><type name="Int.int"/><type name="HOL.bool"/></fun></const><var name="v1"><type name="t" local="true"/></var><var name="n"><type name="Int.int"/></var></app><app><const name="nth" local="true"><fun><type name="t" local="true"/><type name="Int.int"/><type name="HOL.bool"/></fun></const><var name="v2"><type name="t" local="true"/></var><var name="n"><type name="Int.int"/></var></app></app></app></concls></lemma><param name="bw_or" altname="bw_or" path="bv.BV8"><fun><type name="t" local="true"/><type name="t" local="true"/><type name="t" local="true"/></fun></param><lemma name="Nth_bw_or" altname="Nth_bw_or" path="bv.BV8"><prems><app><const name="Orderings.ord_class.less_eq"/><num val="0"><type name="Int.int"/></num><var name="n"><type name="Int.int"/></var></app><app><const name="Orderings.ord_class.less"/><var name="n"><type name="Int.int"/></var><num val="8"><type name="Int.int"/></num></app></prems><concls><app><const name="HOL.eq"/><app><const name="nth" local="true"><fun><type name="t" local="true"/><type name="Int.int"/><type name="HOL.bool"/></fun></const><app><const name="bw_or" local="true"><fun><type name="t" local="true"/><type name="t" local="true"/><type name="t" local="true"/></fun></const><var name="v1"><type name="t" local="true"/></var><var name="v2"><type name="t" local="true"/></var></app><var name="n"><type name="Int.int"/></var></app><app><const name="HOL.disj"/><app><const name="nth" local="true"><fun><type name="t" local="true"/><type name="Int.int"/><type name="HOL.bool"/></fun></const><var name="v1"><type name="t" local="true"/></var><var name="n"><type name="Int.int"/></var></app><app><const name="nth" local="true"><fun><type name="t" local="true"/><type name="Int.int"/><type name="HOL.bool"/></fun></const><var name="v2"><type name="t" local="true"/></var><var name="n"><type name="Int.int"/></var></app></app></app></concls></lemma><param name="bw_xor" altname="bw_xor" path="bv.BV8"><fun><type name="t" local="true"/><type name="t" local="true"/><type name="t" local="true"/></fun></param><lemma name="Nth_bw_xor" altname="Nth_bw_xor" path="bv.BV8"><prems><app><const name="Orderings.ord_class.less_eq"/><num val="0"><type name="Int.int"/></num><var name="n"><type name="Int.int"/></var></app><app><const name="Orderings.ord_class.less"/><var name="n"><type name="Int.int"/></var><num val="8"><type name="Int.int"/></num></app></prems><concls><app><const name="HOL.eq"/><app><const name="nth" local="true"><fun><type name="t" local="true"/><type name="Int.int"/><type name="HOL.bool"/></fun></const><app><const name="bw_xor" local="true"><fun><type name="t" local="true"/><type name="t" local="true"/><type name="t" local="true"/></fun></const><var name="v1"><type name="t" local="true"/></var><var name="v2"><type name="t" local="true"/></var></app><var name="n"><type name="Int.int"/></var></app><app><const name="HOL.Not"/><app><const name="HOL.eq"/><app><const name="nth" local="true"><fun><type name="t" local="true"/><type name="Int.int"/><type name="HOL.bool"/></fun></const><var name="v1"><type name="t" local="true"/></var><var name="n"><type name="Int.int"/></var></app><app><const name="nth" local="true"><fun><type name="t" local="true"/><type name="Int.int"/><type name="HOL.bool"/></fun></const><var name="v2"><type name="t" local="true"/></var><var name="n"><type name="Int.int"/></var></app></app></app></app></concls></lemma><param name="bw_not" altname="bw_not" path="bv.BV8"><fun><type name="t" local="true"/><type name="t" local="true"/></fun></param><lemma name="Nth_bw_not" altname="Nth_bw_not" path="bv.BV8"><prems><app><const name="Orderings.ord_class.less_eq"/><num val="0"><type name="Int.int"/></num><var name="n"><type name="Int.int"/></var></app><app><const name="Orderings.ord_class.less"/><var name="n"><type name="Int.int"/></var><num val="8"><type name="Int.int"/></num></app></prems><concls><app><const name="HOL.eq"/><app><const name="nth" local="true"><fun><type name="t" local="true"/><type name="Int.int"/><type name="HOL.bool"/></fun></const><app><const name="bw_not" local="true"><fun><type name="t" local="true"/><type name="t" local="true"/></fun></const><var name="v"><type name="t" local="true"/></var></app><var name="n"><type name="Int.int"/></var></app><app><const name="HOL.Not"/><app><const name="nth" local="true"><fun><type name="t" local="true"/><type name="Int.int"/><type name="HOL.bool"/></fun></const><var name="v"><type name="t" local="true"/></var><var name="n"><type name="Int.int"/></var></app></app></app></concls></lemma><param name="lsr" altname="lsr" path="bv.BV8"><fun><type name="t" local="true"/><type name="Int.int"/><type name="t" local="true"/></fun></param><lemma name="Lsr_nth_low" altname="Lsr_nth_low" path="bv.BV8"><prems><app><const name="Orderings.ord_class.less_eq"/><num val="0"><type name="Int.int"/></num><var name="s"><type name="Int.int"/></var></app><app><const name="Orderings.ord_class.less_eq"/><num val="0"><type name="Int.int"/></num><var name="n"><type name="Int.int"/></var></app><app><const name="Orderings.ord_class.less"/><app><const name="Groups.plus_class.plus"/><var name="n"><type name="Int.int"/></var><var name="s"><type name="Int.int"/></var></app><num val="8"><type name="Int.int"/></num></app></prems><concls><app><const name="HOL.eq"/><app><const name="nth" local="true"><fun><type name="t" local="true"/><type name="Int.int"/><type name="HOL.bool"/></fun></const><app><const name="lsr" local="true"><fun><type name="t" local="true"/><type name="Int.int"/><type name="t" local="true"/></fun></const><var name="b"><type name="t" local="true"/></var><var name="s"><type name="Int.int"/></var></app><var name="n"><type name="Int.int"/></var></app><app><const name="nth" local="true"><fun><type name="t" local="true"/><type name="Int.int"/><type name="HOL.bool"/></fun></const><var name="b"><type name="t" local="true"/></var><app><const name="Groups.plus_class.plus"/><var name="n"><type name="Int.int"/></var><var name="s"><type name="Int.int"/></var></app></app></app></concls></lemma><lemma name="Lsr_nth_high" altname="Lsr_nth_high" path="bv.BV8"><prems><app><const name="Orderings.ord_class.less_eq"/><num val="0"><type name="Int.int"/></num><var name="s"><type name="Int.int"/></var></app><app><const name="Orderings.ord_class.less_eq"/><num val="0"><type name="Int.int"/></num><var name="n"><type name="Int.int"/></var></app><app><const name="Orderings.ord_class.less_eq"/><num val="8"><type name="Int.int"/></num><app><const name="Groups.plus_class.plus"/><var name="n"><type name="Int.int"/></var><var name="s"><type name="Int.int"/></var></app></app></prems><concls><app><const name="HOL.eq"/><app><const name="nth" local="true"><fun><type name="t" local="true"/><type name="Int.int"/><type name="HOL.bool"/></fun></const><app><const name="lsr" local="true"><fun><type name="t" local="true"/><type name="Int.int"/><type name="t" local="true"/></fun></const><var name="b"><type name="t" local="true"/></var><var name="s"><type name="Int.int"/></var></app><var name="n"><type name="Int.int"/></var></app><const name="HOL.False"/></app></concls></lemma><lemma name="lsr_zeros" altname="lsr_zeros" path="bv.BV8"><prems/><concls><app><const name="HOL.eq"/><app><const name="lsr" local="true"><fun><type name="t" local="true"/><type name="Int.int"/><type name="t" local="true"/></fun></const><var name="x"><type name="t" local="true"/></var><num val="0"><type name="Int.int"/></num></app><var name="x"><type name="t" local="true"/></var></app></concls></lemma><param name="asr" altname="asr" path="bv.BV8"><fun><type name="t" local="true"/><type name="Int.int"/><type name="t" local="true"/></fun></param><lemma name="Asr_nth_low" altname="Asr_nth_low" path="bv.BV8"><prems><app><const name="Orderings.ord_class.less_eq"/><num val="0"><type name="Int.int"/></num><var name="s"><type name="Int.int"/></var></app><app><const name="Orderings.ord_class.less_eq"/><num val="0"><type name="Int.int"/></num><var name="n"><type name="Int.int"/></var></app><app><const name="Orderings.ord_class.less"/><var name="n"><type name="Int.int"/></var><num val="8"><type name="Int.int"/></num></app><app><const name="Orderings.ord_class.less"/><app><const name="Groups.plus_class.plus"/><var name="n"><type name="Int.int"/></var><var name="s"><type name="Int.int"/></var></app><num val="8"><type name="Int.int"/></num></app></prems><concls><app><const name="HOL.eq"/><app><const name="nth" local="true"><fun><type name="t" local="true"/><type name="Int.int"/><type name="HOL.bool"/></fun></const><app><const name="asr" local="true"><fun><type name="t" local="true"/><type name="Int.int"/><type name="t" local="true"/></fun></const><var name="b"><type name="t" local="true"/></var><var name="s"><type name="Int.int"/></var></app><var name="n"><type name="Int.int"/></var></app><app><const name="nth" local="true"><fun><type name="t" local="true"/><type name="Int.int"/><type name="HOL.bool"/></fun></const><var name="b"><type name="t" local="true"/></var><app><const name="Groups.plus_class.plus"/><var name="n"><type name="Int.int"/></var><var name="s"><type name="Int.int"/></var></app></app></app></concls></lemma><lemma name="Asr_nth_high" altname="Asr_nth_high" path="bv.BV8"><prems><app><const name="Orderings.ord_class.less_eq"/><num val="0"><type name="Int.int"/></num><var name="s"><type name="Int.int"/></var></app><app><const name="Orderings.ord_class.less_eq"/><num val="0"><type name="Int.int"/></num><var name="n"><type name="Int.int"/></var></app><app><const name="Orderings.ord_class.less"/><var name="n"><type name="Int.int"/></var><num val="8"><type name="Int.int"/></num></app><app><const name="Orderings.ord_class.less_eq"/><num val="8"><type name="Int.int"/></num><app><const name="Groups.plus_class.plus"/><var name="n"><type name="Int.int"/></var><var name="s"><type name="Int.int"/></var></app></app></prems><concls><app><const name="HOL.eq"/><app><const name="nth" local="true"><fun><type name="t" local="true"/><type name="Int.int"/><type name="HOL.bool"/></fun></const><app><const name="asr" local="true"><fun><type name="t" local="true"/><type name="Int.int"/><type name="t" local="true"/></fun></const><var name="b"><type name="t" local="true"/></var><var name="s"><type name="Int.int"/></var></app><var name="n"><type name="Int.int"/></var></app><app><const name="nth" local="true"><fun><type name="t" local="true"/><type name="Int.int"/><type name="HOL.bool"/></fun></const><var name="b"><type name="t" local="true"/></var><app><const name="Groups.minus_class.minus"/><num val="8"><type name="Int.int"/></num><num val="1"><type name="Int.int"/></num></app></app></app></concls></lemma><lemma name="asr_zeros" altname="asr_zeros" path="bv.BV8"><prems/><concls><app><const name="HOL.eq"/><app><const name="asr" local="true"><fun><type name="t" local="true"/><type name="Int.int"/><type name="t" local="true"/></fun></const><var name="x"><type name="t" local="true"/></var><num val="0"><type name="Int.int"/></num></app><var name="x"><type name="t" local="true"/></var></app></concls></lemma><param name="lsl" altname="lsl" path="bv.BV8"><fun><type name="t" local="true"/><type name="Int.int"/><type name="t" local="true"/></fun></param><lemma name="Lsl_nth_high" altname="Lsl_nth_high" path="bv.BV8"><prems><app><const name="Orderings.ord_class.less_eq"/><num val="0"><type name="Int.int"/></num><var name="s"><type name="Int.int"/></var></app><app><const name="Orderings.ord_class.less_eq"/><var name="s"><type name="Int.int"/></var><var name="n"><type name="Int.int"/></var></app><app><const name="Orderings.ord_class.less"/><var name="n"><type name="Int.int"/></var><num val="8"><type name="Int.int"/></num></app></prems><concls><app><const name="HOL.eq"/><app><const name="nth" local="true"><fun><type name="t" local="true"/><type name="Int.int"/><type name="HOL.bool"/></fun></const><app><const name="lsl" local="true"><fun><type name="t" local="true"/><type name="Int.int"/><type name="t" local="true"/></fun></const><var name="b"><type name="t" local="true"/></var><var name="s"><type name="Int.int"/></var></app><var name="n"><type name="Int.int"/></var></app><app><const name="nth" local="true"><fun><type name="t" local="true"/><type name="Int.int"/><type name="HOL.bool"/></fun></const><var name="b"><type name="t" local="true"/></var><app><const name="Groups.minus_class.minus"/><var name="n"><type name="Int.int"/></var><var name="s"><type name="Int.int"/></var></app></app></app></concls></lemma><lemma name="Lsl_nth_low" altname="Lsl_nth_low" path="bv.BV8"><prems><app><const name="Orderings.ord_class.less_eq"/><num val="0"><type name="Int.int"/></num><var name="n"><type name="Int.int"/></var></app><app><const name="Orderings.ord_class.less"/><var name="n"><type name="Int.int"/></var><var name="s"><type name="Int.int"/></var></app></prems><concls><app><const name="HOL.eq"/><app><const name="nth" local="true"><fun><type name="t" local="true"/><type name="Int.int"/><type name="HOL.bool"/></fun></const><app><const name="lsl" local="true"><fun><type name="t" local="true"/><type name="Int.int"/><type name="t" local="true"/></fun></const><var name="b"><type name="t" local="true"/></var><var name="s"><type name="Int.int"/></var></app><var name="n"><type name="Int.int"/></var></app><const name="HOL.False"/></app></concls></lemma><lemma name="lsl_zeros" altname="lsl_zeros" path="bv.BV8"><prems/><concls><app><const name="HOL.eq"/><app><const name="lsl" local="true"><fun><type name="t" local="true"/><type name="Int.int"/><type name="t" local="true"/></fun></const><var name="x"><type name="t" local="true"/></var><num val="0"><type name="Int.int"/></num></app><var name="x"><type name="t" local="true"/></var></app></concls></lemma><param name="rotate_right" altname="rotate_right" path="bv.BV8"><fun><type name="t" local="true"/><type name="Int.int"/><type name="t" local="true"/></fun></param><lemma name="Nth_rotate_right" altname="Nth_rotate_right" path="bv.BV8"><prems><app><const name="Orderings.ord_class.less_eq"/><num val="0"><type name="Int.int"/></num><var name="i"><type name="Int.int"/></var></app><app><const name="Orderings.ord_class.less"/><var name="i"><type name="Int.int"/></var><num val="8"><type name="Int.int"/></num></app><app><const name="Orderings.ord_class.less_eq"/><num val="0"><type name="Int.int"/></num><var name="n"><type name="Int.int"/></var></app></prems><concls><app><const name="HOL.eq"/><app><const name="nth" local="true"><fun><type name="t" local="true"/><type name="Int.int"/><type name="HOL.bool"/></fun></const><app><const name="rotate_right" local="true"><fun><type name="t" local="true"/><type name="Int.int"/><type name="t" local="true"/></fun></const><var name="v"><type name="t" local="true"/></var><var name="n"><type name="Int.int"/></var></app><var name="i"><type name="Int.int"/></var></app><app><const name="nth" local="true"><fun><type name="t" local="true"/><type name="Int.int"/><type name="HOL.bool"/></fun></const><var name="v"><type name="t" local="true"/></var><app><const name="mod" path="int.EuclideanDivision"><fun><type name="Int.int"/><type name="Int.int"/><type name="Int.int"/></fun></const><app><const name="Groups.plus_class.plus"/><var name="i"><type name="Int.int"/></var><var name="n"><type name="Int.int"/></var></app><num val="8"><type name="Int.int"/></num></app></app></app></concls></lemma><param name="rotate_left" altname="rotate_left" path="bv.BV8"><fun><type name="t" local="true"/><type name="Int.int"/><type name="t" local="true"/></fun></param><lemma name="Nth_rotate_left" altname="Nth_rotate_left" path="bv.BV8"><prems><app><const name="Orderings.ord_class.less_eq"/><num val="0"><type name="Int.int"/></num><var name="i"><type name="Int.int"/></var></app><app><const name="Orderings.ord_class.less"/><var name="i"><type name="Int.int"/></var><num val="8"><type name="Int.int"/></num></app><app><const name="Orderings.ord_class.less_eq"/><num val="0"><type name="Int.int"/></num><var name="n"><type name="Int.int"/></var></app></prems><concls><app><const name="HOL.eq"/><app><const name="nth" local="true"><fun><type name="t" local="true"/><type name="Int.int"/><type name="HOL.bool"/></fun></const><app><const name="rotate_left" local="true"><fun><type name="t" local="true"/><type name="Int.int"/><type name="t" local="true"/></fun></const><var name="v"><type name="t" local="true"/></var><var name="n"><type name="Int.int"/></var></app><var name="i"><type name="Int.int"/></var></app><app><const name="nth" local="true"><fun><type name="t" local="true"/><type name="Int.int"/><type name="HOL.bool"/></fun></const><var name="v"><type name="t" local="true"/></var><app><const name="mod" path="int.EuclideanDivision"><fun><type name="Int.int"/><type name="Int.int"/><type name="Int.int"/></fun></const><app><const name="Groups.minus_class.minus"/><var name="i"><type name="Int.int"/></var><var name="n"><type name="Int.int"/></var></app><num val="8"><type name="Int.int"/></num></app></app></app></concls></lemma><param name="is_signed_positive" altname="is_signed_positive" path="bv.BV8"><pred><type name="t" local="true"/></pred></param><param name="of_int" altname="of_int" path="bv.BV8"><fun><type name="Int.int"/><type name="t" local="true"/></fun></param><lemma name="to_int_def"><prems/><concls><app><const name="HOL.eq"/><app><const name="Word.sint"/><var name="x"><type name="t" local="true"/></var></app><app><const name="HOL.If"/><app><const name="is_signed_positive" local="true"><pred><type name="t" local="true"/></pred></const><var name="x"><type name="t" local="true"/></var></app><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><var name="x"><type name="t" local="true"/></var></app><app><const name="Groups.uminus_class.uminus"/><app><const name="Groups.minus_class.minus"/><num val="256"><type name="Int.int"/></num><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><var name="x"><type name="t" local="true"/></var></app></app></app></app></app></concls></lemma><lemma name="to_uint_extensionality" altname="to_uint_extensionality" path="bv.BV8"><prems><app><const name="HOL.eq"/><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><var name="v"><type name="t" local="true"/></var></app><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><var name="vqt"><type name="t" local="true"/></var></app></app></prems><concls><app><const name="HOL.eq"/><var name="v"><type name="t" local="true"/></var><var name="vqt"><type name="t" local="true"/></var></app></concls></lemma><lemma name="to_int_extensionality" altname="to_int_extensionality" path="bv.BV8"><prems><app><const name="HOL.eq"/><app><const name="Word.sint"/><var name="v"><type name="t" local="true"/></var></app><app><const name="Word.sint"/><var name="vqt"><type name="t" local="true"/></var></app></app></prems><concls><app><const name="HOL.eq"/><var name="v"><type name="t" local="true"/></var><var name="vqt"><type name="t" local="true"/></var></app></concls></lemma><definition altname="uint_in_range" path="bv.BV8"><app><const name="HOL.eq"/><app><var name="uint_in_range"><pred><type name="Int.int"/></pred></var><var name="i"><type name="Int.int"/></var></app><app><const name="HOL.conj"/><app><const name="Orderings.ord_class.less_eq"/><num val="0"><type name="Int.int"/></num><var name="i"><type name="Int.int"/></var></app><app><const name="Orderings.ord_class.less_eq"/><var name="i"><type name="Int.int"/></var><num val="255"><type name="Int.int"/></num></app></app></app></definition><lemma name="to_uint_bounds" altname="to_uint_bounds" path="bv.BV8"><prems/><concls><app><const name="Orderings.ord_class.less_eq"/><num val="0"><type name="Int.int"/></num><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><var name="v"><type name="t" local="true"/></var></app></app><app><const name="Orderings.ord_class.less"/><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><var name="v"><type name="t" local="true"/></var></app><num val="256"><type name="Int.int"/></num></app></concls></lemma><lemma name="to_uint_of_int" altname="to_uint_of_int" path="bv.BV8"><prems><app><const name="Orderings.ord_class.less_eq"/><num val="0"><type name="Int.int"/></num><var name="i"><type name="Int.int"/></var></app><app><const name="Orderings.ord_class.less"/><var name="i"><type name="Int.int"/></var><num val="256"><type name="Int.int"/></num></app></prems><concls><app><const name="HOL.eq"/><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><app><const name="of_int" local="true"><fun><type name="Int.int"/><type name="t" local="true"/></fun></const><var name="i"><type name="Int.int"/></var></app></app><var name="i"><type name="Int.int"/></var></app></concls></lemma><param name="size_bv" altname="size_bv" path="bv.BV8"><type name="t" local="true"/></param><lemma name="to_uint_size_bv" altname="to_uint_size_bv" path="bv.BV8"><prems/><concls><app><const name="HOL.eq"/><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><const name="size_bv" local="true"><type name="t" local="true"/></const></app><num val="8"><type name="Int.int"/></num></app></concls></lemma><lemma name="to_uint_zeros" altname="to_uint_zeros" path="bv.BV8"><prems/><concls><app><const name="HOL.eq"/><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><const name="zeros" local="true"><type name="t" local="true"/></const></app><num val="0"><type name="Int.int"/></num></app></concls></lemma><lemma name="to_uint_one" altname="to_uint_one" path="bv.BV8"><prems/><concls><app><const name="HOL.eq"/><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><const name="one" local="true"><type name="t" local="true"/></const></app><num val="1"><type name="Int.int"/></num></app></concls></lemma><lemma name="to_uint_ones" altname="to_uint_ones" path="bv.BV8"><prems/><concls><app><const name="HOL.eq"/><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><const name="ones" local="true"><type name="t" local="true"/></const></app><num val="255"><type name="Int.int"/></num></app></concls></lemma><definition altname="ult" path="bv.BV8"><app><const name="HOL.eq"/><app><var name="ult"><pred><type name="t" local="true"/><type name="t" local="true"/></pred></var><var name="x"><type name="t" local="true"/></var><var name="y"><type name="t" local="true"/></var></app><app><const name="Orderings.ord_class.less"/><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><var name="x"><type name="t" local="true"/></var></app><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><var name="y"><type name="t" local="true"/></var></app></app></app></definition><definition altname="ule" path="bv.BV8"><app><const name="HOL.eq"/><app><var name="ule"><pred><type name="t" local="true"/><type name="t" local="true"/></pred></var><var name="x"><type name="t" local="true"/></var><var name="y"><type name="t" local="true"/></var></app><app><const name="Orderings.ord_class.less_eq"/><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><var name="x"><type name="t" local="true"/></var></app><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><var name="y"><type name="t" local="true"/></var></app></app></app></definition><definition altname="ugt" path="bv.BV8"><app><const name="HOL.eq"/><app><var name="ugt"><pred><type name="t" local="true"/><type name="t" local="true"/></pred></var><var name="x"><type name="t" local="true"/></var><var name="y"><type name="t" local="true"/></var></app><app><const name="Orderings.ord_class.less"/><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><var name="y"><type name="t" local="true"/></var></app><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><var name="x"><type name="t" local="true"/></var></app></app></app></definition><definition altname="uge" path="bv.BV8"><app><const name="HOL.eq"/><app><var name="uge"><pred><type name="t" local="true"/><type name="t" local="true"/></pred></var><var name="x"><type name="t" local="true"/></var><var name="y"><type name="t" local="true"/></var></app><app><const name="Orderings.ord_class.less_eq"/><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><var name="y"><type name="t" local="true"/></var></app><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><var name="x"><type name="t" local="true"/></var></app></app></app></definition><definition altname="slt" path="bv.BV8"><app><const name="HOL.eq"/><app><var name="slt"><pred><type name="t" local="true"/><type name="t" local="true"/></pred></var><var name="v1"><type name="t" local="true"/></var><var name="v2"><type name="t" local="true"/></var></app><app><const name="Orderings.ord_class.less"/><app><const name="Word.sint"/><var name="v1"><type name="t" local="true"/></var></app><app><const name="Word.sint"/><var name="v2"><type name="t" local="true"/></var></app></app></app></definition><definition altname="sle" path="bv.BV8"><app><const name="HOL.eq"/><app><var name="sle"><pred><type name="t" local="true"/><type name="t" local="true"/></pred></var><var name="v1"><type name="t" local="true"/></var><var name="v2"><type name="t" local="true"/></var></app><app><const name="Orderings.ord_class.less_eq"/><app><const name="Word.sint"/><var name="v1"><type name="t" local="true"/></var></app><app><const name="Word.sint"/><var name="v2"><type name="t" local="true"/></var></app></app></app></definition><definition altname="sgt" path="bv.BV8"><app><const name="HOL.eq"/><app><var name="sgt"><pred><type name="t" local="true"/><type name="t" local="true"/></pred></var><var name="v1"><type name="t" local="true"/></var><var name="v2"><type name="t" local="true"/></var></app><app><const name="Orderings.ord_class.less"/><app><const name="Word.sint"/><var name="v2"><type name="t" local="true"/></var></app><app><const name="Word.sint"/><var name="v1"><type name="t" local="true"/></var></app></app></app></definition><definition altname="sge" path="bv.BV8"><app><const name="HOL.eq"/><app><var name="sge"><pred><type name="t" local="true"/><type name="t" local="true"/></pred></var><var name="v1"><type name="t" local="true"/></var><var name="v2"><type name="t" local="true"/></var></app><app><const name="Orderings.ord_class.less_eq"/><app><const name="Word.sint"/><var name="v2"><type name="t" local="true"/></var></app><app><const name="Word.sint"/><var name="v1"><type name="t" local="true"/></var></app></app></app></definition><lemma name="positive_is_ge_zeros" altname="positive_is_ge_zeros" path="bv.BV8"><prems/><concls><app><const name="HOL.eq"/><app><const name="is_signed_positive" local="true"><pred><type name="t" local="true"/></pred></const><var name="x"><type name="t" local="true"/></var></app><app><const name="sge" local="true"><pred><type name="t" local="true"/><type name="t" local="true"/></pred></const><var name="x"><type name="t" local="true"/></var><const name="zeros" local="true"><type name="t" local="true"/></const></app></app></concls></lemma><param name="add" altname="add" path="bv.BV8"><fun><type name="t" local="true"/><type name="t" local="true"/><type name="t" local="true"/></fun></param><lemma name="to_uint_add" altname="to_uint_add" path="bv.BV8"><prems/><concls><app><const name="HOL.eq"/><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><app><const name="add" local="true"><fun><type name="t" local="true"/><type name="t" local="true"/><type name="t" local="true"/></fun></const><var name="v1"><type name="t" local="true"/></var><var name="v2"><type name="t" local="true"/></var></app></app><app><const name="mod" path="int.EuclideanDivision"><fun><type name="Int.int"/><type name="Int.int"/><type name="Int.int"/></fun></const><app><const name="Groups.plus_class.plus"/><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><var name="v1"><type name="t" local="true"/></var></app><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><var name="v2"><type name="t" local="true"/></var></app></app><num val="256"><type name="Int.int"/></num></app></app></concls></lemma><lemma name="to_uint_add_bounded" altname="to_uint_add_bounded" path="bv.BV8"><prems><app><const name="Orderings.ord_class.less"/><app><const name="Groups.plus_class.plus"/><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><var name="v1"><type name="t" local="true"/></var></app><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><var name="v2"><type name="t" local="true"/></var></app></app><num val="256"><type name="Int.int"/></num></app></prems><concls><app><const name="HOL.eq"/><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><app><const name="add" local="true"><fun><type name="t" local="true"/><type name="t" local="true"/><type name="t" local="true"/></fun></const><var name="v1"><type name="t" local="true"/></var><var name="v2"><type name="t" local="true"/></var></app></app><app><const name="Groups.plus_class.plus"/><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><var name="v1"><type name="t" local="true"/></var></app><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><var name="v2"><type name="t" local="true"/></var></app></app></app></concls></lemma><param name="sub" altname="sub" path="bv.BV8"><fun><type name="t" local="true"/><type name="t" local="true"/><type name="t" local="true"/></fun></param><lemma name="to_uint_sub" altname="to_uint_sub" path="bv.BV8"><prems/><concls><app><const name="HOL.eq"/><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><app><const name="sub" local="true"><fun><type name="t" local="true"/><type name="t" local="true"/><type name="t" local="true"/></fun></const><var name="v1"><type name="t" local="true"/></var><var name="v2"><type name="t" local="true"/></var></app></app><app><const name="mod" path="int.EuclideanDivision"><fun><type name="Int.int"/><type name="Int.int"/><type name="Int.int"/></fun></const><app><const name="Groups.minus_class.minus"/><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><var name="v1"><type name="t" local="true"/></var></app><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><var name="v2"><type name="t" local="true"/></var></app></app><num val="256"><type name="Int.int"/></num></app></app></concls></lemma><lemma name="to_uint_sub_bounded" altname="to_uint_sub_bounded" path="bv.BV8"><prems><app><const name="Orderings.ord_class.less_eq"/><num val="0"><type name="Int.int"/></num><app><const name="Groups.minus_class.minus"/><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><var name="v1"><type name="t" local="true"/></var></app><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><var name="v2"><type name="t" local="true"/></var></app></app></app><app><const name="Orderings.ord_class.less"/><app><const name="Groups.minus_class.minus"/><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><var name="v1"><type name="t" local="true"/></var></app><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><var name="v2"><type name="t" local="true"/></var></app></app><num val="256"><type name="Int.int"/></num></app></prems><concls><app><const name="HOL.eq"/><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><app><const name="sub" local="true"><fun><type name="t" local="true"/><type name="t" local="true"/><type name="t" local="true"/></fun></const><var name="v1"><type name="t" local="true"/></var><var name="v2"><type name="t" local="true"/></var></app></app><app><const name="Groups.minus_class.minus"/><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><var name="v1"><type name="t" local="true"/></var></app><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><var name="v2"><type name="t" local="true"/></var></app></app></app></concls></lemma><param name="neg" altname="neg" path="bv.BV8"><fun><type name="t" local="true"/><type name="t" local="true"/></fun></param><lemma name="to_uint_neg" altname="to_uint_neg" path="bv.BV8"><prems/><concls><app><const name="HOL.eq"/><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><app><const name="neg" local="true"><fun><type name="t" local="true"/><type name="t" local="true"/></fun></const><var name="v"><type name="t" local="true"/></var></app></app><app><const name="mod" path="int.EuclideanDivision"><fun><type name="Int.int"/><type name="Int.int"/><type name="Int.int"/></fun></const><app><const name="Groups.uminus_class.uminus"/><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><var name="v"><type name="t" local="true"/></var></app></app><num val="256"><type name="Int.int"/></num></app></app></concls></lemma><param name="mul" altname="mul" path="bv.BV8"><fun><type name="t" local="true"/><type name="t" local="true"/><type name="t" local="true"/></fun></param><lemma name="to_uint_mul" altname="to_uint_mul" path="bv.BV8"><prems/><concls><app><const name="HOL.eq"/><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><app><const name="mul" local="true"><fun><type name="t" local="true"/><type name="t" local="true"/><type name="t" local="true"/></fun></const><var name="v1"><type name="t" local="true"/></var><var name="v2"><type name="t" local="true"/></var></app></app><app><const name="mod" path="int.EuclideanDivision"><fun><type name="Int.int"/><type name="Int.int"/><type name="Int.int"/></fun></const><app><const name="Groups.times_class.times"/><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><var name="v1"><type name="t" local="true"/></var></app><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><var name="v2"><type name="t" local="true"/></var></app></app><num val="256"><type name="Int.int"/></num></app></app></concls></lemma><lemma name="to_uint_mul_bounded" altname="to_uint_mul_bounded" path="bv.BV8"><prems><app><const name="Orderings.ord_class.less"/><app><const name="Groups.times_class.times"/><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><var name="v1"><type name="t" local="true"/></var></app><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><var name="v2"><type name="t" local="true"/></var></app></app><num val="256"><type name="Int.int"/></num></app></prems><concls><app><const name="HOL.eq"/><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><app><const name="mul" local="true"><fun><type name="t" local="true"/><type name="t" local="true"/><type name="t" local="true"/></fun></const><var name="v1"><type name="t" local="true"/></var><var name="v2"><type name="t" local="true"/></var></app></app><app><const name="Groups.times_class.times"/><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><var name="v1"><type name="t" local="true"/></var></app><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><var name="v2"><type name="t" local="true"/></var></app></app></app></concls></lemma><param name="udiv" altname="udiv" path="bv.BV8"><fun><type name="t" local="true"/><type name="t" local="true"/><type name="t" local="true"/></fun></param><lemma name="to_uint_udiv" altname="to_uint_udiv" path="bv.BV8"><prems/><concls><app><const name="HOL.eq"/><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><app><const name="udiv" local="true"><fun><type name="t" local="true"/><type name="t" local="true"/><type name="t" local="true"/></fun></const><var name="v1"><type name="t" local="true"/></var><var name="v2"><type name="t" local="true"/></var></app></app><app><const name="div" path="int.EuclideanDivision"><fun><type name="Int.int"/><type name="Int.int"/><type name="Int.int"/></fun></const><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><var name="v1"><type name="t" local="true"/></var></app><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><var name="v2"><type name="t" local="true"/></var></app></app></app></concls></lemma><param name="urem" altname="urem" path="bv.BV8"><fun><type name="t" local="true"/><type name="t" local="true"/><type name="t" local="true"/></fun></param><lemma name="to_uint_urem" altname="to_uint_urem" path="bv.BV8"><prems/><concls><app><const name="HOL.eq"/><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><app><const name="urem" local="true"><fun><type name="t" local="true"/><type name="t" local="true"/><type name="t" local="true"/></fun></const><var name="v1"><type name="t" local="true"/></var><var name="v2"><type name="t" local="true"/></var></app></app><app><const name="mod" path="int.EuclideanDivision"><fun><type name="Int.int"/><type name="Int.int"/><type name="Int.int"/></fun></const><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><var name="v1"><type name="t" local="true"/></var></app><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><var name="v2"><type name="t" local="true"/></var></app></app></app></concls></lemma><param name="lsr_bv" altname="lsr_bv" path="bv.BV8"><fun><type name="t" local="true"/><type name="t" local="true"/><type name="t" local="true"/></fun></param><lemma name="lsr_bv_is_lsr" altname="lsr_bv_is_lsr" path="bv.BV8"><prems/><concls><app><const name="HOL.eq"/><app><const name="lsr_bv" local="true"><fun><type name="t" local="true"/><type name="t" local="true"/><type name="t" local="true"/></fun></const><var name="x"><type name="t" local="true"/></var><var name="n"><type name="t" local="true"/></var></app><app><const name="lsr" local="true"><fun><type name="t" local="true"/><type name="Int.int"/><type name="t" local="true"/></fun></const><var name="x"><type name="t" local="true"/></var><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><var name="n"><type name="t" local="true"/></var></app></app></app></concls></lemma><lemma name="to_uint_lsr" altname="to_uint_lsr" path="bv.BV8"><prems/><concls><app><const name="HOL.eq"/><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><app><const name="lsr_bv" local="true"><fun><type name="t" local="true"/><type name="t" local="true"/><type name="t" local="true"/></fun></const><var name="v"><type name="t" local="true"/></var><var name="n"><type name="t" local="true"/></var></app></app><app><const name="div" path="int.EuclideanDivision"><fun><type name="Int.int"/><type name="Int.int"/><type name="Int.int"/></fun></const><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><var name="v"><type name="t" local="true"/></var></app><app><const name="pow2" path="bv.Pow2int"><fun><type name="Int.int"/><type name="Int.int"/></fun></const><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><var name="n"><type name="t" local="true"/></var></app></app></app></app></concls></lemma><param name="asr_bv" altname="asr_bv" path="bv.BV8"><fun><type name="t" local="true"/><type name="t" local="true"/><type name="t" local="true"/></fun></param><lemma name="asr_bv_is_asr" altname="asr_bv_is_asr" path="bv.BV8"><prems/><concls><app><const name="HOL.eq"/><app><const name="asr_bv" local="true"><fun><type name="t" local="true"/><type name="t" local="true"/><type name="t" local="true"/></fun></const><var name="x"><type name="t" local="true"/></var><var name="n"><type name="t" local="true"/></var></app><app><const name="asr" local="true"><fun><type name="t" local="true"/><type name="Int.int"/><type name="t" local="true"/></fun></const><var name="x"><type name="t" local="true"/></var><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><var name="n"><type name="t" local="true"/></var></app></app></app></concls></lemma><param name="lsl_bv" altname="lsl_bv" path="bv.BV8"><fun><type name="t" local="true"/><type name="t" local="true"/><type name="t" local="true"/></fun></param><lemma name="lsl_bv_is_lsl" altname="lsl_bv_is_lsl" path="bv.BV8"><prems/><concls><app><const name="HOL.eq"/><app><const name="lsl_bv" local="true"><fun><type name="t" local="true"/><type name="t" local="true"/><type name="t" local="true"/></fun></const><var name="x"><type name="t" local="true"/></var><var name="n"><type name="t" local="true"/></var></app><app><const name="lsl" local="true"><fun><type name="t" local="true"/><type name="Int.int"/><type name="t" local="true"/></fun></const><var name="x"><type name="t" local="true"/></var><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><var name="n"><type name="t" local="true"/></var></app></app></app></concls></lemma><lemma name="to_uint_lsl" altname="to_uint_lsl" path="bv.BV8"><prems/><concls><app><const name="HOL.eq"/><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><app><const name="lsl_bv" local="true"><fun><type name="t" local="true"/><type name="t" local="true"/><type name="t" local="true"/></fun></const><var name="v"><type name="t" local="true"/></var><var name="n"><type name="t" local="true"/></var></app></app><app><const name="mod" path="int.EuclideanDivision"><fun><type name="Int.int"/><type name="Int.int"/><type name="Int.int"/></fun></const><app><const name="Groups.times_class.times"/><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><var name="v"><type name="t" local="true"/></var></app><app><const name="pow2" path="bv.Pow2int"><fun><type name="Int.int"/><type name="Int.int"/></fun></const><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><var name="n"><type name="t" local="true"/></var></app></app></app><num val="256"><type name="Int.int"/></num></app></app></concls></lemma><param name="rotate_right_bv" altname="rotate_right_bv" path="bv.BV8"><fun><type name="t" local="true"/><type name="t" local="true"/><type name="t" local="true"/></fun></param><param name="rotate_left_bv" altname="rotate_left_bv" path="bv.BV8"><fun><type name="t" local="true"/><type name="t" local="true"/><type name="t" local="true"/></fun></param><lemma name="rotate_left_bv_is_rotate_left" altname="rotate_left_bv_is_rotate_left" path="bv.BV8"><prems/><concls><app><const name="HOL.eq"/><app><const name="rotate_left_bv" local="true"><fun><type name="t" local="true"/><type name="t" local="true"/><type name="t" local="true"/></fun></const><var name="v"><type name="t" local="true"/></var><var name="n"><type name="t" local="true"/></var></app><app><const name="rotate_left" local="true"><fun><type name="t" local="true"/><type name="Int.int"/><type name="t" local="true"/></fun></const><var name="v"><type name="t" local="true"/></var><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><var name="n"><type name="t" local="true"/></var></app></app></app></concls></lemma><lemma name="rotate_right_bv_is_rotate_right" altname="rotate_right_bv_is_rotate_right" path="bv.BV8"><prems/><concls><app><const name="HOL.eq"/><app><const name="rotate_right_bv" local="true"><fun><type name="t" local="true"/><type name="t" local="true"/><type name="t" local="true"/></fun></const><var name="v"><type name="t" local="true"/></var><var name="n"><type name="t" local="true"/></var></app><app><const name="rotate_right" local="true"><fun><type name="t" local="true"/><type name="Int.int"/><type name="t" local="true"/></fun></const><var name="v"><type name="t" local="true"/></var><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><var name="n"><type name="t" local="true"/></var></app></app></app></concls></lemma><param name="nth_bv" altname="nth_bv" path="bv.BV8"><fun><type name="t" local="true"/><type name="t" local="true"/><type name="HOL.bool"/></fun></param><lemma name="nth_bv_def" altname="nth_bv_def" path="bv.BV8"><prems/><concls><app><const name="HOL.eq"/><app><const name="HOL.eq"/><app><const name="nth_bv" local="true"><fun><type name="t" local="true"/><type name="t" local="true"/><type name="HOL.bool"/></fun></const><var name="x"><type name="t" local="true"/></var><var name="i"><type name="t" local="true"/></var></app><const name="HOL.True"/></app><app><const name="HOL.Not"/><app><const name="HOL.eq"/><app><const name="bw_and" local="true"><fun><type name="t" local="true"/><type name="t" local="true"/><type name="t" local="true"/></fun></const><app><const name="lsr_bv" local="true"><fun><type name="t" local="true"/><type name="t" local="true"/><type name="t" local="true"/></fun></const><var name="x"><type name="t" local="true"/></var><var name="i"><type name="t" local="true"/></var></app><const name="one" local="true"><type name="t" local="true"/></const></app><const name="zeros" local="true"><type name="t" local="true"/></const></app></app></app></concls></lemma><lemma name="Nth_bv_is_nth" altname="Nth_bv_is_nth" path="bv.BV8"><prems/><concls><app><const name="HOL.eq"/><app><const name="nth" local="true"><fun><type name="t" local="true"/><type name="Int.int"/><type name="HOL.bool"/></fun></const><var name="x"><type name="t" local="true"/></var><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><var name="i"><type name="t" local="true"/></var></app></app><app><const name="nth_bv" local="true"><fun><type name="t" local="true"/><type name="t" local="true"/><type name="HOL.bool"/></fun></const><var name="x"><type name="t" local="true"/></var><var name="i"><type name="t" local="true"/></var></app></app></concls></lemma><lemma name="Nth_bv_is_nth2" altname="Nth_bv_is_nth2" path="bv.BV8"><prems><app><const name="Orderings.ord_class.less_eq"/><num val="0"><type name="Int.int"/></num><var name="i"><type name="Int.int"/></var></app><app><const name="Orderings.ord_class.less"/><var name="i"><type name="Int.int"/></var><num val="256"><type name="Int.int"/></num></app></prems><concls><app><const name="HOL.eq"/><app><const name="nth_bv" local="true"><fun><type name="t" local="true"/><type name="t" local="true"/><type name="HOL.bool"/></fun></const><var name="x"><type name="t" local="true"/></var><app><const name="of_int" local="true"><fun><type name="Int.int"/><type name="t" local="true"/></fun></const><var name="i"><type name="Int.int"/></var></app></app><app><const name="nth" local="true"><fun><type name="t" local="true"/><type name="Int.int"/><type name="HOL.bool"/></fun></const><var name="x"><type name="t" local="true"/></var><var name="i"><type name="Int.int"/></var></app></app></concls></lemma><param name="eq_sub_bv" altname="eq_sub_bv" path="bv.BV8"><pred><type name="t" local="true"/><type name="t" local="true"/><type name="t" local="true"/><type name="t" local="true"/></pred></param><lemma name="eq_sub_bv_def" altname="eq_sub_bv_def" path="bv.BV8"><prems/><concls><app><const name="HOL.eq"/><app><const name="eq_sub_bv" local="true"><pred><type name="t" local="true"/><type name="t" local="true"/><type name="t" local="true"/><type name="t" local="true"/></pred></const><var name="a"><type name="t" local="true"/></var><var name="b"><type name="t" local="true"/></var><var name="i"><type name="t" local="true"/></var><var name="n"><type name="t" local="true"/></var></app><app><const name="HOL.eq"/><app><const name="bw_and" local="true"><fun><type name="t" local="true"/><type name="t" local="true"/><type name="t" local="true"/></fun></const><var name="b"><type name="t" local="true"/></var><app><const name="lsl_bv" local="true"><fun><type name="t" local="true"/><type name="t" local="true"/><type name="t" local="true"/></fun></const><app><const name="sub" local="true"><fun><type name="t" local="true"/><type name="t" local="true"/><type name="t" local="true"/></fun></const><app><const name="lsl_bv" local="true"><fun><type name="t" local="true"/><type name="t" local="true"/><type name="t" local="true"/></fun></const><const name="one" local="true"><type name="t" local="true"/></const><var name="n"><type name="t" local="true"/></var></app><const name="one" local="true"><type name="t" local="true"/></const></app><var name="i"><type name="t" local="true"/></var></app></app><app><const name="bw_and" local="true"><fun><type name="t" local="true"/><type name="t" local="true"/><type name="t" local="true"/></fun></const><var name="a"><type name="t" local="true"/></var><app><const name="lsl_bv" local="true"><fun><type name="t" local="true"/><type name="t" local="true"/><type name="t" local="true"/></fun></const><app><const name="sub" local="true"><fun><type name="t" local="true"/><type name="t" local="true"/><type name="t" local="true"/></fun></const><app><const name="lsl_bv" local="true"><fun><type name="t" local="true"/><type name="t" local="true"/><type name="t" local="true"/></fun></const><const name="one" local="true"><type name="t" local="true"/></const><var name="n"><type name="t" local="true"/></var></app><const name="one" local="true"><type name="t" local="true"/></const></app><var name="i"><type name="t" local="true"/></var></app></app></app></app></concls></lemma><definition altname="eq_sub" path="bv.BV8"><app><const name="HOL.eq"/><app><var name="eq_sub"><pred><type name="t" local="true"/><type name="t" local="true"/><type name="Int.int"/><type name="Int.int"/></pred></var><var name="a"><type name="t" local="true"/></var><var name="b"><type name="t" local="true"/></var><var name="i"><type name="Int.int"/></var><var name="n"><type name="Int.int"/></var></app><app><const name="HOL.All"/><abs name="j"><type name="Int.int"/><app><const name="HOL.implies"/><app><const name="HOL.conj"/><app><const name="Orderings.ord_class.less_eq"/><var name="i"><type name="Int.int"/></var><var name="j"><type name="Int.int"/></var></app><app><const name="Orderings.ord_class.less"/><var name="j"><type name="Int.int"/></var><app><const name="Groups.plus_class.plus"/><var name="i"><type name="Int.int"/></var><var name="n"><type name="Int.int"/></var></app></app></app><app><const name="HOL.eq"/><app><const name="nth" local="true"><fun><type name="t" local="true"/><type name="Int.int"/><type name="HOL.bool"/></fun></const><var name="a"><type name="t" local="true"/></var><var name="j"><type name="Int.int"/></var></app><app><const name="nth" local="true"><fun><type name="t" local="true"/><type name="Int.int"/><type name="HOL.bool"/></fun></const><var name="b"><type name="t" local="true"/></var><var name="j"><type name="Int.int"/></var></app></app></app></abs></app></app></definition><lemma name="eq_sub_equiv" altname="eq_sub_equiv" path="bv.BV8"><prems/><concls><app><const name="HOL.eq"/><app><const name="eq_sub" local="true"><pred><type name="t" local="true"/><type name="t" local="true"/><type name="Int.int"/><type name="Int.int"/></pred></const><var name="a"><type name="t" local="true"/></var><var name="b"><type name="t" local="true"/></var><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><var name="i"><type name="t" local="true"/></var></app><app><const name="tqtint" local="true"><fun><type name="t" local="true"/><type name="Int.int"/></fun></const><var name="n"><type name="t" local="true"/></var></app></app><app><const name="eq_sub_bv" local="true"><pred><type name="t" local="true"/><type name="t" local="true"/><type name="t" local="true"/><type name="t" local="true"/></pred></const><var name="a"><type name="t" local="true"/></var><var name="b"><type name="t" local="true"/></var><var name="i"><type name="t" local="true"/></var><var name="n"><type name="t" local="true"/></var></app></app></concls></lemma><lemma name="Extensionality" altname="Extensionality" path="bv.BV8"><prems><app><const name="eq_sub" local="true"><pred><type name="t" local="true"/><type name="t" local="true"/><type name="Int.int"/><type name="Int.int"/></pred></const><var name="x"><type name="t" local="true"/></var><var name="y"><type name="t" local="true"/></var><num val="0"><type name="Int.int"/></num><num val="8"><type name="Int.int"/></num></app></prems><concls><app><const name="HOL.eq"/><var name="x"><type name="t" local="true"/></var><var name="y"><type name="t" local="true"/></var></app></concls></lemma></theory>