Equations
- LO.Arith.SPPow2 m = (ยฌLO.Arith.LenBit 1 m โง LO.Arith.LenBit 2 m โง โ i โค m, LO.Arith.Pow2 i โ 2 < i โ (LO.Arith.LenBit i m โ (โi) ^ 2 = i โง LO.Arith.LenBit (โi) m))
 
Instances For
Equations
- One or more equations did not get rendered due to their size.
 
Instances For
Equations
- LO.Arith.PPow2 i = (LO.Arith.Pow2 i โง โ m < 2 * i, LO.Arith.SPPow2 m โง LO.Arith.LenBit i m)
 
Instances For
Equations
- One or more equations did not get rendered due to their size.
 
Instances For
theorem
LO.Arith.SPPow2.not_lenbit_one
{V : Type u_1}
[ORingStruc V]
[V โงโ* ๐๐บโ]
{m : V}
(hm : SPPow2 m)
 :
theorem
LO.Arith.SPPow2.lenbit_two
{V : Type u_1}
[ORingStruc V]
[V โงโ* ๐๐บโ]
{m : V}
(hm : SPPow2 m)
 :
LenBit 2 m
theorem
LO.Arith.SPPow2.one_lt
{V : Type u_1}
[ORingStruc V]
[V โงโ* ๐๐บโ]
{m : V}
(hm : SPPow2 m)
{i : V}
(hi : LenBit i m)
 :
1 < i
theorem
LO.Arith.SPPow2.two_lt
{V : Type u_1}
[ORingStruc V]
[V โงโ* ๐๐บโ]
{m : V}
(hm : SPPow2 m)
{i : V}
(hi : LenBit i m)
(ne2 : i โ  2)
 :
2 < i
theorem
LO.Arith.SPPow2.sqrt
{V : Type u_1}
[ORingStruc V]
[V โงโ* ๐๐บโ]
{m : V}
(hm : SPPow2 m)
{i : V}
(hi : LenBit i m)
(pi : Pow2 i)
(ne2 : i โ  2)
 :
theorem
LO.Arith.SPPow2.sq_sqrt_eq
{V : Type u_1}
[ORingStruc V]
[V โงโ* ๐๐บโ]
{m : V}
(hm : SPPow2 m)
{i : V}
(hi : LenBit i m)
(pi : Pow2 i)
(ne2 : i โ  2)
 :
theorem
LO.Arith.SPPow2.of_sqrt
{V : Type u_1}
[ORingStruc V]
[V โงโ* ๐๐บโ]
{m : V}
(hm : SPPow2 m)
{i : V}
(pi : Pow2 i)
(him : i โค m)
(hsqi : (โi) ^ 2 = i)
(hi : LenBit (โi) m)
 :
LenBit i m
@[simp]
@[simp]
@[simp]
theorem
LO.Arith.SPPow2.sq_le_of_lt
{V : Type u_1}
[ORingStruc V]
[V โงโ* ๐๐บโ]
{m : V}
(hm : SPPow2 m)
{i j : V}
(pi : Pow2 i)
(pj : Pow2 j)
(hi : LenBit i m)
(hj : LenBit j m)
 :
theorem
LO.Arith.PPow2.pow2
{V : Type u_1}
[ORingStruc V]
[V โงโ* ๐๐บโ]
{i : V}
(h : PPow2 i)
 :
Pow2 i
theorem
LO.Arith.PPow2.pos
{V : Type u_1}
[ORingStruc V]
[V โงโ* ๐๐บโ]
{i : V}
(ppi : PPow2 i)
 :
0 < i
theorem
LO.Arith.PPow2.one_lt
{V : Type u_1}
[ORingStruc V]
[V โงโ* ๐๐บโ]
{i : V}
(ppi : PPow2 i)
 :
1 < i
theorem
LO.Arith.PPow2.sq_sqrt_eq
{V : Type u_1}
[ORingStruc V]
[V โงโ* ๐๐บโ]
{i : V}
(ppi : PPow2 i)
(ne2 : i โ  2)
 :
theorem
LO.Arith.PPow2.sqrt
{V : Type u_1}
[ORingStruc V]
[V โงโ* ๐๐บโ]
{i : V}
(ppi : PPow2 i)
(ne2 : i โ  2)
 :
theorem
LO.Arith.PPow2.exists_spp
{V : Type u_1}
[ORingStruc V]
[V โงโ* ๐๐บโ]
{i : V}
(h : PPow2 i)
 :
theorem
LO.Arith.PPow2.sq
{V : Type u_1}
[ORingStruc V]
[V โงโ* ๐๐บโ]
{i : V}
(ppi : PPow2 i)
 :
@[simp]
@[simp]
@[simp]
@[simp]
theorem
LO.Arith.PPow2.two_le
{V : Type u_1}
[ORingStruc V]
[V โงโ* ๐๐บโ]
{i : V}
(hi : PPow2 i)
 :
2 โค i
theorem
LO.Arith.PPow2.two_lt
{V : Type u_1}
[ORingStruc V]
[V โงโ* ๐๐บโ]
{i : V}
(hi : PPow2 i)
(ne : i โ  2)
 :
2 < i
theorem
LO.Arith.PPow2.four_le
{V : Type u_1}
[ORingStruc V]
[V โงโ* ๐๐บโ]
{i : V}
(hi : PPow2 i)
(ne : i โ  2)
 :
4 โค i
theorem
LO.Arith.PPow2.four_lt
{V : Type u_1}
[ORingStruc V]
[V โงโ* ๐๐บโ]
{i : V}
(hi : PPow2 i)
(ne2 : i โ  2)
(ne4 : i โ  4)
 :
4 < i
theorem
LO.Arith.PPow2.sq_ne_two
{V : Type u_1}
[ORingStruc V]
[V โงโ* ๐๐บโ]
{i : V}
(hi : PPow2 i)
 :
theorem
LO.Arith.PPow2.sqrt_ne_two
{V : Type u_1}
[ORingStruc V]
[V โงโ* ๐๐บโ]
{i : V}
(hi : PPow2 i)
(ne2 : i โ  2)
(ne4 : i โ  4)
 :
theorem
LO.Arith.PPow2.sq_ne_four
{V : Type u_1}
[ORingStruc V]
[V โงโ* ๐๐บโ]
{i : V}
(hi : PPow2 i)
(ne2 : i โ  2)
 :
theorem
LO.Arith.PPow2.sq_le_of_lt
{V : Type u_1}
[ORingStruc V]
[V โงโ* ๐๐บโ]
{i j : V}
(hi : PPow2 i)
(hj : PPow2 j)
 :