MIL/C07_Structures/solutions/Solutions_S03_Building_the_Gaussian_Integers.lean
51 declarations, 0 contain sorry, 0 declared as axioms
- structure
GaussIntline 6 sourceno axioms what this means
Also declared: MIL/C07_Structures/S03_Building_the_Gaussian_Integers.lean:6 (same declaration text).
- instance
GaussInt.(instance at line 12)line 12 source - instance
GaussInt.(instance at line 15)line 15 source - instance
GaussInt.(instance at line 18)line 18 source - instance
GaussInt.(instance at line 21)line 21 source - instance
GaussInt.(instance at line 24)line 24 source - theorem
GaussInt.zero_defline 27 sourceno axioms what this means
Statement uses:
Eq, GaussInt,OfNat.ofNat,GaussInt.mk,IntProof uses:
rfl5 instances, coercions and auxiliary constants left out.
Also declared: MIL/C07_Structures/S03_Building_the_Gaussian_Integers.lean:27 (same declaration text).
- theorem
GaussInt.one_defline 30 sourceno axioms what this means
Statement uses:
Eq, GaussInt,OfNat.ofNat,GaussInt.mk,IntProof uses:
rfl5 instances, coercions and auxiliary constants left out.
Also declared: MIL/C07_Structures/S03_Building_the_Gaussian_Integers.lean:30 (same declaration text).
- theorem
GaussInt.add_defline 33 sourceno axioms what this means
Statement uses: GaussInt,
Eq,HAdd.hAdd,GaussInt.mk,Int,GaussInt.re,GaussInt.imProof uses:
rfl5 instances, coercions and auxiliary constants left out.
Also declared: MIL/C07_Structures/S03_Building_the_Gaussian_Integers.lean:33 (same declaration text).
- theorem
GaussInt.neg_defline 36 sourceno axioms what this means
Statement uses: GaussInt,
Eq,Neg.neg,GaussInt.mk,Int,GaussInt.re,GaussInt.imProof uses:
rfl3 instances, coercions and auxiliary constants left out.
Also declared: MIL/C07_Structures/S03_Building_the_Gaussian_Integers.lean:36 (same declaration text).
- theorem
GaussInt.mul_defline 39 sourceno axioms what this means
Statement uses: GaussInt,
Eq,HMul.hMul,GaussInt.mk,HSub.hSub,Int,GaussInt.re,GaussInt.im,HAdd.hAddProof uses:
rfl9 instances, coercions and auxiliary constants left out.
Also declared: MIL/C07_Structures/S03_Building_the_Gaussian_Integers.lean:39 (same declaration text).
- theorem
GaussInt.zero_reline 44 sourceno axioms what this means
Statement uses:
Eq,Int,GaussInt.re,OfNat.ofNat, GaussIntProof uses:
rfl5 instances, coercions and auxiliary constants left out.
Also declared: MIL/C07_Structures/S03_Building_the_Gaussian_Integers.lean:44 (same declaration text).
- theorem
GaussInt.zero_imline 48 sourceno axioms what this means
Statement uses:
Eq,Int,GaussInt.im,OfNat.ofNat, GaussIntProof uses:
rfl5 instances, coercions and auxiliary constants left out.
Also declared: MIL/C07_Structures/S03_Building_the_Gaussian_Integers.lean:48 (same declaration text).
- theorem
GaussInt.one_reline 52 sourceno axioms what this means
Statement uses:
Eq,Int,GaussInt.re,OfNat.ofNat, GaussIntProof uses:
rfl5 instances, coercions and auxiliary constants left out.
Also declared: MIL/C07_Structures/S03_Building_the_Gaussian_Integers.lean:52 (same declaration text).
- theorem
GaussInt.one_imline 56 sourceno axioms what this means
Statement uses:
Eq,Int,GaussInt.im,OfNat.ofNat, GaussIntProof uses:
rfl5 instances, coercions and auxiliary constants left out.
Also declared: MIL/C07_Structures/S03_Building_the_Gaussian_Integers.lean:56 (same declaration text).
- theorem
GaussInt.add_reline 60 sourceno axioms what this means
Statement uses: GaussInt,
Eq,Int,GaussInt.re,HAdd.hAddProof uses:
rfl5 instances, coercions and auxiliary constants left out.
Also declared: MIL/C07_Structures/S03_Building_the_Gaussian_Integers.lean:60 (same declaration text).
- theorem
GaussInt.add_imline 64 sourceno axioms what this means
Statement uses: GaussInt,
Eq,Int,GaussInt.im,HAdd.hAddProof uses:
rfl5 instances, coercions and auxiliary constants left out.
Also declared: MIL/C07_Structures/S03_Building_the_Gaussian_Integers.lean:64 (same declaration text).
- theorem
GaussInt.neg_reline 68 sourceno axioms what this means
Statement uses: GaussInt,
Eq,Int,GaussInt.re,Neg.negProof uses:
rfl3 instances, coercions and auxiliary constants left out.
Also declared: MIL/C07_Structures/S03_Building_the_Gaussian_Integers.lean:68 (same declaration text).
- theorem
GaussInt.neg_imline 72 sourceno axioms what this means
Statement uses: GaussInt,
Eq,Int,GaussInt.im,Neg.negProof uses:
rfl3 instances, coercions and auxiliary constants left out.
Also declared: MIL/C07_Structures/S03_Building_the_Gaussian_Integers.lean:72 (same declaration text).
- theorem
GaussInt.mul_reline 76 sourceno axioms what this means
Statement uses: GaussInt,
Eq,Int,GaussInt.re,HMul.hMul,HSub.hSub,GaussInt.imProof uses:
rfl7 instances, coercions and auxiliary constants left out.
Also declared: MIL/C07_Structures/S03_Building_the_Gaussian_Integers.lean:76 (same declaration text).
- theorem
GaussInt.mul_imline 80 sourceno axioms what this means
Statement uses: GaussInt,
Eq,Int,GaussInt.im,HMul.hMul,HAdd.hAdd,GaussInt.reProof uses:
rfl7 instances, coercions and auxiliary constants left out.
Also declared: MIL/C07_Structures/S03_Building_the_Gaussian_Integers.lean:80 (same declaration text).
- instance
GaussInt.instCommRingline 83 sourcestandard axioms: Quot.sound, propext what this means
Statement uses:
CommRing, GaussIntProof uses:
CommRing.mk,Ring.mk,Semiring.mk,AddCommMonoid.mk,AddMonoid.mk,AddSemigroup.mk,Add.mk,HAdd.hAdd,Zero.mk,OfNat.ofNat,nsmulRec,Monoid.mk,Semigroup.mk,Mul.mk,HMul.hMul,One.mk,npowRecAuto,NatCast.mk,Nat.unaryCast,Neg.mkand 6 more34 instances, coercions and auxiliary constants left out.
Also declared: MIL/C07_Structures/S03_Building_the_Gaussian_Integers.lean:83 (same declaration text).
Tactic trace: 45 steps
Open to load the checked before-and-after goal states.
- theorem
GaussInt.sub_reline 132 sourcestandard axioms: Quot.sound, propext what this means
Statement uses: GaussInt,
Eq,Int,GaussInt.re,HSub.hSubProof uses:
rfl15 instances, coercions and auxiliary constants left out.
Also declared: MIL/C07_Structures/S03_Building_the_Gaussian_Integers.lean:132 (same declaration text).
- theorem
GaussInt.sub_imline 136 sourcestandard axioms: Quot.sound, propext what this means
Statement uses: GaussInt,
Eq,Int,GaussInt.im,HSub.hSubProof uses:
rfl15 instances, coercions and auxiliary constants left out.
Also declared: MIL/C07_Structures/S03_Building_the_Gaussian_Integers.lean:136 (same declaration text).
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- instance
GaussInt.(instance at line 139)line 139 source - def
Int.div'line 148 sourceno axioms what this means
Statement uses:
IntProof uses:
HDiv.hDiv,HAdd.hAdd,OfNat.ofNat5 instances, coercions and auxiliary constants left out.
Also declared: MIL/C07_Structures/S03_Building_the_Gaussian_Integers.lean:157 (same declaration text).
- def
Int.mod'line 151 sourceno axioms what this means
Statement uses:
IntProof uses:
HSub.hSub,HMod.hMod,HAdd.hAdd,HDiv.hDiv,OfNat.ofNat9 instances, coercions and auxiliary constants left out.
Also declared: MIL/C07_Structures/S03_Building_the_Gaussian_Integers.lean:160 (same declaration text).
- theorem
Int.div'_add_mod'line 154 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Int,Eq,HAdd.hAdd,HMul.hMul, Int.div', Int.mod'Proof uses:
Eq.mpr,HDiv.hDiv,OfNat.ofNat,id,congrArg,Int.div'.eq_1,HSub.hSub,HMod.hMod,Int.mod'.eq_1,Mathlib.Tactic.Linarith.eq_of_not_lt_of_not_gt,Not.intro,LT.lt,Mathlib.Tactic.Linarith.lt_irrefl,Eq.mp,Neg.neg,Mathlib.Tactic.Ring.of_eq,Mathlib.Tactic.Ring.Common.add_congr,HPow.hPow,Nat,Nat.rawCastand 52 more71 instances, coercions and auxiliary constants left out.
Also declared: MIL/C07_Structures/S03_Building_the_Gaussian_Integers.lean:163 (same declaration text).
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- theorem
Int.abs_mod'_leline 158 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Int,LT.lt,OfNat.ofNat,LE.le,abs, Int.mod',HDiv.hDivProof uses:
Eq.mpr,HSub.hSub,HMod.hMod,HAdd.hAdd,id,Eq,congrArg,Int.mod'.eq_1,And,Neg.neg,propext,abs_le,And.intro,le_of_not_gt,Mathlib.Tactic.Linarith.lt_irrefl,Eq.mp,Mathlib.Tactic.Ring.of_eq,Mathlib.Tactic.Ring.Common.add_congr,HMul.hMul,HPow.hPowand 59 more86 instances, coercions and auxiliary constants left out.
Also declared: MIL/C07_Structures/S03_Building_the_Gaussian_Integers.lean:167 (same declaration text).
Tactic trace: 8 steps
Open to load the checked before-and-after goal states.
- theorem
Int.mod'_eqline 167 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Int,Eq, Int.mod',HSub.hSub,HMul.hMul, Int.div'Proof uses:
Mathlib.Tactic.Linarith.eq_of_not_lt_of_not_gt,Not.intro,LT.lt,Mathlib.Tactic.Linarith.lt_irrefl,OfNat.ofNat,Eq.mp,HAdd.hAdd,Neg.neg,congrArg,Mathlib.Tactic.Ring.of_eq,Mathlib.Tactic.Ring.Common.add_congr,HPow.hPow,Nat,Nat.rawCast,Int.rawCast,inferInstance,Ring,Int.negOfNat,Mathlib.Meta.NormNum.instAddMonoidWithOne,Mathlib.Tactic.Ring.Common.neg_congrand 48 more67 instances, coercions and auxiliary constants left out.
Also declared: MIL/C07_Structures/S03_Building_the_Gaussian_Integers.lean:176 (same declaration text).
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- theorem
auxline 171 sourceDistinct definitions of this name: MIL/C11_Topology/S03_Topological_Spaces.lean:102 (different declaration text), MIL/C11_Topology/solutions/Solutions_S03_Topological_Spaces.lean:106 (different declaration text). Qualify references as aux@path.
- theorem
sq_add_sq_eq_zeroline 178 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Ring,LinearOrder,IsStrictOrderedRing,Iff,Eq,HAdd.hAdd,HPow.hPow,Nat,OfNat.ofNat,AndProof uses:
Iff.intro,And.intro,Eq.mp,congrArg,add_comm,Mathlib.Meta.NormNum.isNat_eq_true,Mathlib.Meta.NormNum.isNat_add,Eq.refl,Mathlib.Meta.NormNum.isNat_pow,Mathlib.Meta.NormNum.isNat_ofNat,Nat.cast_zero,Mathlib.Meta.NormNum.zero_natPow,Eq.symm46 instances, coercions and auxiliary constants left out.
Distinct definitions of this name: MIL/C07_Structures/S03_Building_the_Gaussian_Integers.lean:180 (same statement text; different proof or body). Qualify references as sq_add_sq_eq_zero@path.
Tactic trace: 10 steps
Open to load the checked before-and-after goal states.
- def
GaussInt.normline 191 sourcestandard axioms: propext what this means
Statement uses: GaussInt,
IntProof uses:
HAdd.hAdd,HPow.hPow,Nat,GaussInt.re,OfNat.ofNat,GaussInt.im6 instances, coercions and auxiliary constants left out.
Also declared: MIL/C07_Structures/S03_Building_the_Gaussian_Integers.lean:185 (same declaration text).
- theorem
GaussInt.norm_nonnegline 195 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: GaussInt,
LE.le,Int,OfNat.ofNat, GaussInt.normProof uses:
add_nonneg,HPow.hPow,Nat,GaussInt.re,GaussInt.im,sq_nonneg27 instances, coercions and auxiliary constants left out.
Distinct definitions of this name: MIL/C07_Structures/S03_Building_the_Gaussian_Integers.lean:189 (same statement text; different proof or body). Qualify references as GaussInt.norm_nonneg@path.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- theorem
GaussInt.norm_eq_zeroline 199 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: GaussInt,
Iff,Eq,Int, GaussInt.norm,OfNat.ofNatProof uses:
Eq.mpr,HAdd.hAdd,HPow.hPow,Nat,GaussInt.re,GaussInt.im,id,congrArg,GaussInt.norm.eq_1,And,propext,sq_add_sq_eq_zero,GaussInt.ext_iff,Iff.rfl21 instances, coercions and auxiliary constants left out.
Distinct definitions of this name: MIL/C07_Structures/S03_Building_the_Gaussian_Integers.lean:191 (same statement text; different proof or body). Qualify references as GaussInt.norm_eq_zero@path.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- theorem
GaussInt.norm_posline 203 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: GaussInt,
Iff,LT.lt,Int,OfNat.ofNat, GaussInt.norm,NeProof uses:
Eq.mpr,And,LE.le,id,Eq,congrArg,propext,lt_iff_le_and_ne,ne_comm,Not,Ne.eq_1,GaussInt.norm_eq_zero,of_eq_true,Eq.trans,True,congrFun',true_and,iff_self17 instances, coercions and auxiliary constants left out.
Distinct definitions of this name: MIL/C07_Structures/S03_Building_the_Gaussian_Integers.lean:193 (same statement text; different proof or body). Qualify references as GaussInt.norm_pos@path.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- theorem
GaussInt.norm_mulline 207 sourcestandard axioms: Quot.sound, propext what this means
Statement uses: GaussInt,
Eq,Int, GaussInt.norm,HMul.hMulProof uses:
id,Mathlib.Tactic.Ring.of_eq,HAdd.hAdd,HPow.hPow,Nat,HSub.hSub,GaussInt.re,GaussInt.im,OfNat.ofNat,Nat.rawCast,Mathlib.Tactic.Ring.Common.add_congr,Int.rawCast,inferInstance,Ring,Int.negOfNat,Mathlib.Tactic.Ring.Common.pow_congr,Mathlib.Tactic.Ring.Common.sub_congr,Mathlib.Tactic.Ring.Common.mul_congr,Mathlib.Tactic.Ring.Common.atom_pf,rfland 50 more37 instances, coercions and auxiliary constants left out.
Distinct definitions of this name: MIL/C07_Structures/S03_Building_the_Gaussian_Integers.lean:195 (same statement text; different proof or body). Qualify references as GaussInt.norm_mul@path.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- def
GaussInt.conjline 211 sourceno axioms what this means
Statement uses: GaussInt
Proof uses:
GaussInt.mk,GaussInt.re,Neg.neg,Int,GaussInt.im1 instances, coercions and auxiliary constants left out.
Also declared: MIL/C07_Structures/S03_Building_the_Gaussian_Integers.lean:197 (same declaration text).
- theorem
GaussInt.conj_reline 215 sourceno axioms what this means
Statement uses: GaussInt,
Eq,Int,GaussInt.re, GaussInt.conjProof uses:
rflAlso declared: MIL/C07_Structures/S03_Building_the_Gaussian_Integers.lean:201 (same declaration text).
- theorem
GaussInt.conj_imline 219 sourceno axioms what this means
Statement uses: GaussInt,
Eq,Int,GaussInt.im, GaussInt.conj,Neg.negProof uses:
rfl1 instances, coercions and auxiliary constants left out.
Also declared: MIL/C07_Structures/S03_Building_the_Gaussian_Integers.lean:205 (same declaration text).
- theorem
GaussInt.norm_conjline 222 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: GaussInt,
Eq,Int, GaussInt.norm, GaussInt.conjProof uses:
of_eq_true,HAdd.hAdd,HPow.hPow,Nat,GaussInt.re,OfNat.ofNat,GaussInt.im,Eq.trans,True,congrFun',congrArg,Even.neg_pow,Even,eq_self21 instances, coercions and auxiliary constants left out.
Also declared: MIL/C07_Structures/S03_Building_the_Gaussian_Integers.lean:208 (same declaration text).
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- instance
GaussInt.(instance at line 224)line 224 source - instance
GaussInt.(instance at line 227)line 227 source - theorem
GaussInt.div_defline 230 sourcestandard axioms: propext what this means
Statement uses: GaussInt,
Eq,HDiv.hDiv,GaussInt.mk, Int.div',GaussInt.re,HMul.hMul, GaussInt.conj, GaussInt.norm,GaussInt.imProof uses:
rfl6 instances, coercions and auxiliary constants left out.
Also declared: MIL/C07_Structures/S03_Building_the_Gaussian_Integers.lean:216 (same declaration text).
- theorem
GaussInt.mod_defline 234 sourcestandard axioms: Quot.sound, propext what this means
Statement uses: GaussInt,
Eq,HMod.hMod,HSub.hSub,HMul.hMul,HDiv.hDivProof uses:
rfl15 instances, coercions and auxiliary constants left out.
Also declared: MIL/C07_Structures/S03_Building_the_Gaussian_Integers.lean:220 (same declaration text).
- theorem
GaussInt.norm_mod_ltline 237 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: GaussInt,
Ne,OfNat.ofNat,LT.lt,Int, GaussInt.norm,HMod.hModProof uses:
Eq.mpr,id,Eq,congrArg,propext,GaussInt.norm_pos,Trans.trans,LE.le,HDiv.hDiv,le_of_mul_le_mul_right,HMul.hMul,HAdd.hAdd,HPow.hPow,Nat,abs, Int.mod',GaussInt.re,GaussInt.im,Neg.neg, GaussInt.conj and 96 more109 instances, coercions and auxiliary constants left out.
Also declared: MIL/C07_Structures/S03_Building_the_Gaussian_Integers.lean:223 (same declaration text).
Tactic trace: 24 steps
Open to load the checked before-and-after goal states.
- theorem
GaussInt.coe_natAbs_normline 256 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: GaussInt,
Eq,Int,Int.natAbs, GaussInt.normProof uses:
Int.natAbs_of_nonneg,GaussInt.norm_nonneg2 instances, coercions and auxiliary constants left out.
Also declared: MIL/C07_Structures/S03_Building_the_Gaussian_Integers.lean:242 (same declaration text).
- theorem
GaussInt.natAbs_norm_mod_ltline 259 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: GaussInt,
Ne,OfNat.ofNat,LT.lt,Nat,Int.natAbs, GaussInt.norm,HMod.hModProof uses:
Iff.mp,Int,Int.ofNat_lt,Eq.mpr,id,Eq,congr,congrArg,Eq.trans,abs,Int.natCast_natAbs,abs_of_nonneg,of_eq_true,LE.le, GaussInt.norm_mod_lt19 instances, coercions and auxiliary constants left out.
Also declared: MIL/C07_Structures/S03_Building_the_Gaussian_Integers.lean:245 (same declaration text).
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- theorem
GaussInt.not_norm_mul_left_lt_normline 265 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses: GaussInt,
Ne,OfNat.ofNat,Not,LT.lt,Nat,Int.natAbs, GaussInt.norm,HMul.hMulProof uses:
not_lt_of_ge,Eq.mpr,LE.le,Int,id,Eq,congrArg,GaussInt.norm_mul,Int.natAbs_mul,le_mul_of_one_le_right,Nat.zero_le,Iff.mp,Int.ofNat_le, GaussInt.coe_natAbs_norm,Int.add_one_le_of_lt,Iff.mpr,GaussInt.norm_pos30 instances, coercions and auxiliary constants left out.
Also declared: MIL/C07_Structures/S03_Building_the_Gaussian_Integers.lean:251 (same declaration text).
Tactic trace: 10 steps
Open to load the checked before-and-after goal states.
- instance
GaussInt.(instance at line 274)line 274 source - example
GaussInt.(example at line 288)line 288 source