APNOutputs/StacksProject/GeometricallyReduced_isGeometricallyReduced_iff_of_separable_algebraic.lean
Explanation legend Lean4 Domain Explanation Language (L4DEL)
L4DEL explanations are a separate layer. They do not change the Lean source. Intuition is explanatory prose; numbered items are a reading path; sources link the wording back to evidence.
- L4DEL
- Lean4 Domain Explanation Language
Credit: Google DeepMind published the AlphaProof Nexus proof artifacts. The pinned repository identifies the mathematical sources and collaborators, including OEIS, Erdős Problems, Gergely Bérczi, and Mario Krenn; those source records remain the authority for individual credit.
Project sources: Pinned AlphaProof Nexus results documentation, AlphaProof Nexus paper, Pinned human-written natural-language proof companions
60 declarations, 0 contain sorry, 0 declared as axioms
Imports (1)
- class
IsSeparablyGeneratedline 40 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,Algebra4 instances, coercions and auxiliary constants left out.
Also declared: APNOutputs/StacksProject/GeometricallyReduced_isReduced_tensorProduct_of_separable.lean:40 (same declaration text), APNOutputs/StacksProject/GeometricallyReduced_isReduced_tensorProduct_of_separablyGenerated.lean:40 (same declaration text), APNOutputs/StacksProject/Separability_exists_isPurelyInseparable_isSeparablyGenerated_of_essFiniteType.lean:40 (same declaration text).
- class
IsSeparableExtensionSPline 44 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,Algebra4 instances, coercions and auxiliary constants left out.
Also declared: APNOutputs/StacksProject/GeometricallyReduced_isReduced_tensorProduct_of_separable.lean:44 (same declaration text), APNOutputs/StacksProject/GeometricallyReduced_isReduced_tensorProduct_of_separablyGenerated.lean:44 (same declaration text).
- class
IsSeparablyFinitelyGeneratedline 47 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,Algebra4 instances, coercions and auxiliary constants left out.
Distinct definitions of this name: APNOutputs/StacksProject/GeometricallyReduced_isReduced_tensorProduct_of_separable.lean:47 (same statement text; different proof or body), APNOutputs/StacksProject/GeometricallyReduced_isReduced_tensorProduct_of_separablyGenerated.lean:47 (same statement text; different proof or body). Qualify references as IsSeparablyFinitelyGenerated@path.
- lemma
reduced_quotient_directed_idempotentsHelper lemma: quotient of a reduced ring by an idempotent is reduced line 62 sourceSource comment
Helper lemma: quotient of a reduced ring by an idempotent is reduced.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,IsReduced,Ideal,Membership.mem,Exists,And,Eq,HMul.hMul,HasQuotient.QuotientProof uses:
IsReduced.mk,Quot.ind,Submodule.quotientRel,IsNilpotent,OfNat.ofNat,Quot.mk,Nat,HPow.hPow,Iff.mp,RingHom,Ideal.Quotient.mk,Ideal.Quotient.eq_zero_iff_mem,Nat.casesAuxOn,pow_zero,Eq.mp,congrArg,Eq.symm,mul_one,Eq.mpr,idand 67 more95 instances, coercions and auxiliary constants left out.
Tactic trace: 44 steps
Open to load the checked before-and-after goal states.
lemma reduced_quotient_directed_idempotents {R : Type*} [CommRing R] [IsReduced R] (I : Ideal R) (hI : ∀ x ∈ I, ∃ e ∈ I, e * e = e ∧ x = x * e) : IsReduced (R ⧸ I) := by …Mentions: R
- lemma
retract_reducedline 113 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,RingHom,Eq,RingHom.comp,RingHom.id,IsReducedProof uses:
IsReduced.mk,IsNilpotent,IsNilpotent.map,OfNat.ofNat,IsReduced.eq_zero,Eq.mpr,id,congrArg,map_zero,Eq.refl,Trans.trans,rfl,Eq.mp32 instances, coercions and auxiliary constants left out.
Tactic trace: 11 steps
Open to load the checked before-and-after goal states.
- lemma
isAlgebraic_of_isSeparableline 126 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,Algebra,Algebra.IsSeparable,Algebra.IsAlgebraic23 instances, coercions and auxiliary constants left out.
- lemma
reduced_of_surjective_directed_idempotentsline 132 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,RingHom,Function.Surjective,Eq,OfNat.ofNat,Exists,And,HMul.hMul,IsReducedProof uses:
IsReduced.mk,IsNilpotent,Nat,HPow.hPow,Eq.mpr,id,congrArg,map_pow,Eq.refl,Nat.casesAuxOn,Trans.trans,Eq.symm,pow_zero,mul_one,MulZeroClass.mul_zero,HAdd.hAdd,GT.gt,Nat.succ,Nat.zero_lt_succ,HSub.hSuband 64 more77 instances, coercions and auxiliary constants left out.
Tactic trace: 38 steps
Open to load the checked before-and-after goal states.
- lemma
ideal_generated_by_idempotentsline 180 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,Set,Ideal,Eq,Ideal.span,Membership.mem,Exists,And,HMul.hMulProof uses:
Submodule.span_induction,Exists.intro,OfNat.ofNat,And.intro,Ideal.zero_mem,Mathlib.Tactic.Ring.of_eq,Mathlib.Tactic.Ring.mul_congr,Mathlib.Tactic.Ring.cast_zero,Mathlib.Meta.NormNum.isNat_ofNat,Nat.cast_zero,Mathlib.Tactic.Ring.zero_mul,Submodule,Submodule.span,HAdd.hAdd,HSub.hSub,Ideal.sub_mem,Ideal.add_mem,Ideal.mul_mem_left,Trans.trans,Natand 50 more72 instances, coercions and auxiliary constants left out.
Tactic trace: 43 steps
Open to load the checked before-and-after goal states.
- lemma
eval_poly_trickline 223 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,Algebra,Polynomial,Polynomial.Separable,Eq,AlgHom,Polynomial.aeval,OfNat.ofNat,Exists,And,Polynomial.map,algebraMap,HMul.hMul,HSub.hSub,Polynomial.X,RingHom,Polynomial.C,IsCoprimeProof uses:
Polynomial.IsRoot,Eq.mpr,Polynomial.eval,id,congrArg,propext,Polynomial.IsRoot.def,Polynomial.eval₂,Polynomial.eval_map,Eq.symm,Polynomial.aeval_def,Dvd.dvd,Iff.mpr,Polynomial.dvd_iff_isRoot,Exists.intro,And.intro,Polynomial.Separable.map,Polynomial.Separable.isCoprime,Eq.mp67 instances, coercions and auxiliary constants left out.
Tactic trace: 13 steps
Open to load the checked before-and-after goal states.
- lemma
eval_poly_idempline 238 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,CommRing,Algebra,Polynomial,Polynomial.Separable,Eq,AlgHom,Polynomial.aeval,OfNat.ofNat,Exists,TensorProduct,And,HMul.hMul,HSub.hSub,TensorProduct.tmulProof uses:
Polynomial.map,algebraMap,Polynomial.X,RingHom,Polynomial.C,IsCoprime, eval_poly_trick,HAdd.hAdd,Polynomial.aeval_X,Eq.mpr,id,congrArg,Polynomial.aeval_C,Algebra.TensorProduct.algebraMap_apply,CommSemiring,AddCommMonoid,Module,Eq.rec,Eq.refl,Polynomial.aeval_map_algebraMapand 74 more159 instances, coercions and auxiliary constants left out.
Tactic trace: 67 steps
Open to load the checked before-and-after goal states.
- lemma
idemp_of_twoline 310 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,Eq,HMul.hMul,HSub.hSub,OfNat.ofNat,Exists,And,HAdd.hAddProof uses:
Exists.intro,Trans.trans,Mathlib.Tactic.Ring.of_eq,HPow.hPow,Nat,Nat.rawCast,Mathlib.Tactic.Ring.instCommSemiringNat,Mathlib.Tactic.Ring.mul_congr,Mathlib.Tactic.Ring.atom_pf,Mathlib.Tactic.Ring.add_mul,Mathlib.Tactic.Ring.mul_add,Mathlib.Tactic.Ring.mul_pf_left,Mathlib.Tactic.Ring.mul_pf_right,Mathlib.Tactic.Ring.one_mul,Mathlib.Tactic.Ring.mul_zero,Mathlib.Tactic.Ring.add_pf_add_zero,Mathlib.Tactic.Ring.zero_mul,Mathlib.Tactic.Ring.mul_pp_pf_overlap,Mathlib.Meta.NormNum.IsNat.to_raw_eq,Mathlib.Meta.NormNum.isNat_addand 31 more53 instances, coercions and auxiliary constants left out.
Tactic trace: 25 steps
Open to load the checked before-and-after goal states.
- def
u_elemline 338 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,CommRing,Algebra,IsScalarTower,TensorProductProof uses:
HSub.hSub,TensorProduct.tmul,RingHom,algebraMap,OfNat.ofNat52 instances, coercions and auxiliary constants left out.
- def
I_relline 343 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,CommRing,Algebra,IsScalarTower,Ideal,TensorProductProof uses:
Ideal.span,Set.range, u_elem42 instances, coercions and auxiliary constants left out.
- def
S_ringline 348 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,CommRing,Algebra,IsScalarTowerProof uses:
HasQuotient.Quotient,TensorProduct,Ideal, I_rel30 instances, coercions and auxiliary constants left out.
- instance
(instance at line 353)line 353 source - def
fL_homline 358 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,CommRing,Algebra,IsScalarTower,RingHom, S_ringProof uses:
RingHom.comp,TensorProduct,HasQuotient.Quotient,Ideal, I_rel,Ideal.Quotient.mk,AlgHom.toRingHom,Algebra.TensorProduct.includeLeft40 instances, coercions and auxiliary constants left out.
- def
fA_homline 363 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,CommRing,Algebra,IsScalarTower,RingHom, S_ringProof uses:
RingHom.comp,TensorProduct,HasQuotient.Quotient,Ideal, I_rel,Ideal.Quotient.mk,AlgHom.toRingHom,Algebra.TensorProduct.includeRight39 instances, coercions and auxiliary constants left out.
- lemma
fL_fA_commline 370 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,CommRing,Algebra,IsScalarTower,Commute, S_ring,RingHom, fL_hom, fA_homProof uses:
TensorProduct,TensorProduct.tmul,OfNat.ofNat,Commute.all,Commute.map,HasQuotient.Quotient,Ideal, I_rel,Ideal.Quotient.mk60 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- def
S_algebra_Lline 379 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,CommRing,Algebra,IsScalarTower, S_ringProof uses:
RingHom.toAlgebra, fL_hom16 instances, coercions and auxiliary constants left out.
- def
S_algebra_Aline 384 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,CommRing,Algebra,IsScalarTower, S_ringProof uses:
RingHom.toAlgebra, fA_hom16 instances, coercions and auxiliary constants left out.
- def
S_algebra_k'line 389 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,CommRing,Algebra,IsScalarTower, S_ringProof uses:
RingHom.toAlgebra,RingHom.comp, fL_hom,algebraMap17 instances, coercions and auxiliary constants left out.
- def
fL_algline 396 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,CommRing,Algebra,IsScalarTower,AlgHom, S_ringProof uses:
AlgHom.mk, fL_hom19 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- def
fA_algline 401 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,CommRing,Algebra,IsScalarTower,AlgHom, S_ringProof uses:
AlgHom.mk, fA_hom19 instances, coercions and auxiliary constants left out.
Tactic trace: 7 steps
Open to load the checked before-and-after goal states.
- def
lift_to_Sline 416 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,CommRing,Algebra,IsScalarTower,AlgHom,TensorProduct, S_ringProof uses:
Algebra.TensorProduct.lift, fL_alg, fA_alg, fL_fA_comm36 instances, coercions and auxiliary constants left out.
- def
base_change_mapline 421 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,CommRing,Algebra,IsScalarTower,RingHom,TensorProductProof uses:
AlgHom.toRingHom,Algebra.TensorProduct.lift,AlgHom.restrictScalars,Algebra.TensorProduct.includeLeft,Algebra.TensorProduct.includeRight46 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- def
S_to_base_changeline 430 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,CommRing,Algebra,IsScalarTower,RingHom, S_ring,TensorProductProof uses:
Ideal.Quotient.lift, I_rel, base_change_map49 instances, coercions and auxiliary constants left out.
Tactic trace: 25 steps
Open to load the checked before-and-after goal states.
- lemma
S_ring_isReducedline 468 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,CommRing,Algebra,IsScalarTower,IsReduced,TensorProduct,Algebra.IsSeparable, S_ringProof uses: reduced_quotient_directed_idempotents, I_rel, ideal_generated_by_idempotents,
Set.range, u_elem,Eq.refl,Ideal,Membership.mem,Set,Eq,Exists,And,HMul.hMul,Polynomial,minpoly,Polynomial.Separable,Algebra.IsSeparable.isSeparable,RingHom,algebraMap,AlgHomand 64 more101 instances, coercions and auxiliary constants left out.
Tactic trace: 40 steps
Open to load the checked before-and-after goal states.
- lemma
isAlgClosure_of_isAlgebraicline 523 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,Algebra,Algebra.IsAlgebraic,IsScalarTower,IsAlgClosureProof uses:
IsAlgClosure.mk,IsAlgClosure.isAlgClosed,Algebra.IsAlgebraic.trans54 instances, coercions and auxiliary constants left out.
Tactic trace: 5 steps
Open to load the checked before-and-after goal states.
- lemma
isReduced_equivline 530 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,RingEquiv,Iff,IsReducedProof uses:
Iff.intro, retract_reduced,RingEquiv.toRingHom,RingEquiv.symm,RingHom.ext,RingHom.comp,RingHom.id,RingEquiv.apply_symm_apply,RingEquiv.symm_apply_apply29 instances, coercions and auxiliary constants left out.
Tactic trace: 7 steps
Open to load the checked before-and-after goal states.
- lemma
geom_reduced_of_alg_closureline 537 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,CommRing,Algebra,IsAlgClosure,Iff,Algebra.IsGeometricallyReduced,IsReduced,TensorProductProof uses:
AlgEquiv,AlgebraicClosure,IsAlgClosure.equiv,MvPolynomial,AlgebraicClosure.Vars,AlgebraicClosure.maxIdeal,Algebra.TensorProduct.congr,AlgEquiv.refl,Eq.mpr,id,Eq,congrArg,propext,Algebra.isGeometricallyReduced_iff,Iff.symm, isReduced_equiv,AlgEquiv.toRingEquiv100 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
- lemma
zero_of_coprime_annihilatorsline 546 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,Eq,HMul.hMul,OfNat.ofNat,IsCoprime,Membership.mem,Ideal,Ideal.span,Singleton.singleton,SetProof uses:
Exists,Iff.mp,Ideal.mem_span_singleton',HAdd.hAdd,Trans.trans,Eq.symm,mul_one,Eq.mpr,id,congrArg,Eq.refl,Mathlib.Tactic.Ring.of_eq,HPow.hPow,Nat,Nat.rawCast,Mathlib.Tactic.Ring.instCommSemiringNat,Mathlib.Tactic.Ring.mul_congr,Mathlib.Tactic.Ring.atom_pf,Mathlib.Tactic.Ring.add_congr,Mathlib.Tactic.Ring.add_muland 13 more61 instances, coercions and auxiliary constants left out.
Tactic trace: 11 steps
Open to load the checked before-and-after goal states.
- lemma
zero_of_prod_linear_auxline 563 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,List,CommRing,Algebra,Polynomial.Separable,List.prod,Polynomial,List.map,HSub.hSub,Polynomial.X,RingHom,Polynomial.C,Eq,AlgHom,Polynomial.aeval,OfNat.ofNat,Membership.mem,Ideal,Ideal.span,Singleton.singletonand 2 moreProof uses:
List.rec,List.nil,rfl,Trans.trans,HMul.hMul,Eq.symm,mul_one,Eq.mpr,id,congrArg,Eq.mp,map_one,Eq.refl,MulZeroClass.mul_zero,List.cons,Polynomial.Separable.of_mul_right,IsCoprime,Polynomial.Separable.isCoprime,map_mul,MonoidHom.idand 23 more142 instances, coercions and auxiliary constants left out.
Tactic trace: 52 steps
Open to load the checked before-and-after goal states.
- lemma
mem_ideal_span_of_poly_auxline 623 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,Algebra,Polynomial,Membership.mem,Ideal,Ideal.span,Singleton.singleton,Set,HSub.hSub,AlgHom,Polynomial.aevalProof uses:
Eq.mpr,Exists,Eq,HMul.hMul,Finset.sum,Nat,Finset.range,HAdd.hAdd,Polynomial.natDegree,OfNat.ofNat,HSMul.hSMul,Polynomial.coeff,HPow.hPow,id,Eq.trans,congrArg,congr,Polynomial.aeval_eq_sum_range,Exists.imp,Function.compand 14 more81 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- lemma
mem_ideal_span_of_polyline 628 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,CommRing,Algebra,IsScalarTower,Polynomial,Membership.mem,TensorProduct,Ideal,Ideal.span,Singleton.singleton,Set, u_elem,AlgHom,Polynomial.aevalProof uses:
TensorProduct.tmul,RingHom,algebraMap,OfNat.ofNat,Eq,Algebra.TensorProduct.includeLeft,rfl,Eq.mpr,id,congrArg,Polynomial.aeval_algHom_apply,Polynomial.aeval_algebraMap_apply,Eq.refl,Algebra.TensorProduct.includeRight,HSub.hSub, mem_ideal_span_of_poly_aux,Eq.mp79 instances, coercions and auxiliary constants left out.
Tactic trace: 21 steps
Open to load the checked before-and-after goal states.
- lemma
fd_helperline 655 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,Algebra,Algebra.IsSeparable,List,FiniteDimensional,Subtype,Membership.mem,IntermediateField,IntermediateField.adjoin,setOfProof uses:
IsIntegral,IsAlgebraic.isIntegral,Algebra.IsAlgebraic.isAlgebraic, isAlgebraic_of_isSeparable,Finite,Set.Finite.to_subtype,List.finite_toSet,IntermediateField.finiteDimensional_adjoin,Set43 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- lemma
sep_helperline 661 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,Algebra,Algebra.IsSeparable,List,Subtype,Membership.mem,IntermediateField,IntermediateField.adjoin,setOfProof uses:
inferInstance63 instances, coercions and auxiliary constants left out.
- lemma
alg_helperline 664 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,Algebra,Algebra.IsSeparable,List,Subtype,Membership.mem,IntermediateField,IntermediateField.adjoin,setOf,IsIntegralProof uses:
Eq,Subtype.mk,Exists.imp,Polynomial,And,Polynomial.Monic,Polynomial.eval₂,algebraMap,OfNat.ofNat,of_eq_true,Eq.trans,True,forall_congr,Finset.sum,Nat,Finset.range,HAdd.hAdd,Polynomial.natDegree,HMul.hMul,RingHomand 18 more98 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
- lemma
in_adjoin_helperline 669 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,Algebra,Algebra.IsSeparable,List,Subtype,Membership.mem,IntermediateField,IntermediateField.adjoin,setOf,Eq,Singleton.singleton,Set,Top.topProof uses:
Eq.rec,trivial,Eq.symm80 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
range_helperline 673 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,Algebra,Algebra.IsSeparable,List,Subtype,Membership.mem,IntermediateField,IntermediateField.adjoin,setOf,Singleton.singleton,Set,Subalgebra,AlgHom.range,Polynomial,Polynomial.aevalProof uses:
Eq,IntermediateField.toSubalgebra,Algebra.adjoin,IntermediateField.adjoin_simple_toSubalgebra_of_integral,IsIntegral,Algebra.IsSeparable.isIntegral,Eq.mpr,id,congrArg,Eq.symm,Algebra.adjoin_singleton_eq_range_aeval70 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
eq_helperline 678 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,Algebra,Algebra.IsSeparable,List,Subtype,Membership.mem,IntermediateField,IntermediateField.adjoin,setOf,Polynomial,Eq,AlgHom,Polynomial.aeval,Subtype.mk,IntermediateField.subset_adjoinProof uses:
of_eq_true,Eq.trans,True,congrArg,Finset.sum,Nat,Finset.range,HAdd.hAdd,Polynomial.natDegree,OfNat.ofNat,HSMul.hSMul,Polynomial.coeff,HPow.hPow,Polynomial.aeval_eq_sum_range,id,Eq.mp,AddSubmonoidClass.coe_finset_sum,Finset.sum_congr,Eq.refl,Finsetand 1 more92 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
exists_primitive_element_of_listline 682 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,Algebra,Algebra.IsSeparable,List,Exists,Membership.mem,Polynomial,Eq,AlgHom,Polynomial.aevalProof uses:
IntermediateField,IntermediateField.adjoin,setOf,IsAlgebraic,Algebra.IsAlgebraic.isAlgebraic, isAlgebraic_of_isSeparable,FiniteDimensional,Subtype, fd_helper, sep_helper,Singleton.singleton,Set,Top.top,Field.exists_primitive_element,Exists.intro,IntermediateField.subset_adjoin,Subtype.mk, in_adjoin_helper,Subalgebra,AlgHom.rangeand 4 more68 instances, coercions and auxiliary constants left out.
Tactic trace: 14 steps
Open to load the checked before-and-after goal states.
- lemma
common_primitive_of_twoline 699 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,CommRing,Algebra,IsScalarTower,Algebra.IsSeparable,Exists,And,Membership.mem,TensorProduct,Ideal,Ideal.span,Singleton.singleton,Set, u_elemProof uses:
List,List.cons,List.nil,Polynomial,Eq,AlgHom,Polynomial.aeval, exists_primitive_element_of_list,of_eq_true,Eq.trans,Or,True,congr,congrArg,eq_self,False,or_false,true_or,or_true,Exists.introand 4 more63 instances, coercions and auxiliary constants left out.
Tactic trace: 16 steps
Open to load the checked before-and-after goal states.
- lemma
exists_primitive_of_I_relline 719 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,CommRing,Algebra,IsScalarTower,Algebra.IsSeparable,TensorProduct,Membership.mem,Ideal, I_rel,Exists,Ideal.span,Singleton.singleton,Set, u_elemProof uses:
Submodule.span_induction,Set.range,Eq,Exists.intro,Ideal.subset_span,Set.mem_singleton,OfNat.ofNat,Ideal.zero_mem,Submodule,Submodule.span,HAdd.hAdd,And, common_primitive_of_two,LE.le,Eq.mpr,HasSubset.Subset,id,congrArg,propext,Ideal.span_leand 5 more85 instances, coercions and auxiliary constants left out.
Tactic trace: 31 steps
Open to load the checked before-and-after goal states.
- lemma
fwd_dirline 761 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,CommRing,Algebra,Algebra.IsSeparable,IsScalarTower,Algebra.IsGeometricallyReducedProof uses:
AlgebraicClosure,Algebra.IsAlgebraic, isAlgebraic_of_isSeparable,IsAlgClosure,MvPolynomial,AlgebraicClosure.Vars,AlgebraicClosure.maxIdeal, isAlgClosure_of_isAlgebraic,IsReduced,TensorProduct,Iff.mp, geom_reduced_of_alg_closure, S_ring, S_ring_isReduced,Eq,RingHom,RingHom.comp, S_to_base_change,AlgHom.toRingHom, lift_to_S and 34 more114 instances, coercions and auxiliary constants left out.
Tactic trace: 36 steps
Open to load the checked before-and-after goal states.
- lemma
finite_conjugates_auxline 819 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,CommRing,Algebra,Algebra.IsAlgebraic,TensorProduct,Exists,Finset,AlgHom,Membership.mem,Algebra.TensorProduct.map,AlgHom.idProof uses:
TensorProduct.induction_on,Exists.intro,OfNat.ofNat,Singleton.singleton,of_eq_true,Eq.trans,Eq,True,congrArg,map_zero,eq_self,Polynomial,minpoly,Multiset.toFinset,Polynomial.roots,Polynomial.map,algebraMap,Finset.image,TensorProduct.tmul,Eq.mprand 28 more111 instances, coercions and auxiliary constants left out.
Tactic trace: 19 steps
Open to load the checked before-and-after goal states.
- lemma
exists_algEquiv_of_rootsline 844 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,Algebra,IsAlgClosed,Algebra.IsAlgebraic,Eq,Polynomial,minpoly,Exists,AlgEquivProof uses:
AlgHom,Polynomial.aeval,OfNat.ofNat,Eq.mpr,id,congrArg,minpoly.aeval,Eq.refl,Exists.elim,IntermediateField.exists_algHom_of_splits_of_aeval,of_eq_true,And,IsIntegral,Polynomial.Splits,Polynomial.map,algebraMap,Eq.trans,True,forall_congr,congrand 13 more53 instances, coercions and auxiliary constants left out.
Tactic trace: 8 steps
Open to load the checked before-and-after goal states.
- def
get_y_funline 854 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,CommRing,Algebra,IsScalarTower,Algebra.IsSeparable,TensorProductProof uses:
dite,Membership.mem,Ideal, I_rel,Classical.choose,Ideal.span,Singleton.singleton,Set, u_elem, exists_primitive_of_I_rel,Not,OfNat.ofNat51 instances, coercions and auxiliary constants left out.
- lemma
get_y_specline 862 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,CommRing,Algebra,IsScalarTower,Algebra.IsSeparable,TensorProduct,Membership.mem,Ideal, I_rel,Ideal.span,Singleton.singleton,Set, u_elem, get_y_funProof uses:
Eq.mpr,dite,Classical.choose, exists_primitive_of_I_rel,Not,OfNat.ofNat,id,Eq,congrArg,get_y_fun.eq_1,dif_pos,Classical.choose_spec58 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
lift_comp_S_to_base_changeline 870 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,CommRing,Algebra,IsScalarTower,Eq,RingHom, S_ring,RingHom.comp,TensorProduct,AlgHom.toRingHom, lift_to_S, S_to_base_change,RingHom.idProof uses:
Ideal.Quotient.ringHom_ext, I_rel,RingHom.ext,HasQuotient.Quotient,Ideal,Ideal.Quotient.mk,TensorProduct.induction_on,of_eq_true,Function.comp,AlgHom,OfNat.ofNat,Eq.trans,True,congr,congrArg,map_zero,eq_self,id,TensorProduct.tmul, base_change_map and 16 more103 instances, coercions and auxiliary constants left out.
Tactic trace: 22 steps
Open to load the checked before-and-after goal states.
- lemma
x_in_I_rel_of_base_change_zeroline 899 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,CommRing,Algebra,IsScalarTower,TensorProduct,Eq,RingHom, base_change_map,OfNat.ofNat,Membership.mem,Ideal, I_relProof uses: S_ring, S_to_base_change,
HasQuotient.Quotient,Ideal.Quotient.mk,AlgHom.toRingHom, lift_to_S,Eq.mpr,id,congrArg,Eq.refl,RingHom.comp,RingHom.id,RingHom.congr_fun, lift_comp_S_to_base_change,Iff.mp,Ideal.Quotient.eq_zero_iff_mem,Eq.mp,map_zero83 instances, coercions and auxiliary constants left out.
Tactic trace: 9 steps
Open to load the checked before-and-after goal states.
- lemma
nilpotent_mem_I_relline 913 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,CommRing,Algebra,IsScalarTower,IsReduced,TensorProduct,IsNilpotent,Membership.mem,Ideal, I_relProof uses:
RingHom, base_change_map,IsNilpotent.map,Eq,OfNat.ofNat,IsReduced.eq_zero, x_in_I_rel_of_base_change_zero64 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- lemma
h_sep_roots_lemmaline 922 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,Algebra,Polynomial,Polynomial.Separable,List,Eq,Multiset.toList,Polynomial.roots,Polynomial.map,algebraMap,List.prod,List.map,HSub.hSub,Polynomial.X,RingHom,Polynomial.CProof uses:
Eq.mpr,Multiset.prod,Multiset.map,id,congrArg,Eq.trans,Multiset.prod_map_toList,Polynomial.Separable.of_dvd,Polynomial.Separable.map,Polynomial.prod_multiset_X_sub_C_dvd42 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
h_aeval_lemmaline 928 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,CommRing,Algebra,IsScalarTower,Polynomial,Polynomial.Monic,Eq,AlgHom,Polynomial.aeval,OfNat.ofNat,List,Multiset.toList,Polynomial.roots,Polynomial.map,algebraMap,IsAlgClosed,TensorProduct,TensorProduct.tmul,RingHom,List.prodand 4 moreProof uses:
Eq.mpr,Finset.sum,Nat,Finset.range,HAdd.hAdd,Multiset.card,HSMul.hSMul,Polynomial.coeff,Multiset.prod,Multiset.map,HPow.hPow,id,congrArg,Eq.trans,Polynomial.natDegree,Multiset.prod_map_toList,Polynomial.aeval_eq_sum_range,Finset.sum_congr,Finset,Polynomial.natDegree_multiset_prod_X_sub_C_eq_cardand 47 more155 instances, coercions and auxiliary constants left out.
Tactic trace: 15 steps
Open to load the checked before-and-after goal states.
- lemma
h_P_r_lemmaline 946 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,Algebra,Polynomial,List,Eq,Multiset.toList,Polynomial.roots,Polynomial.map,algebraMap,Membership.mem,AlgHom,Polynomial.aeval,OfNat.ofNatProof uses:
of_eq_true,Polynomial.eval₂,Eq.trans,True,congrArg,id,And,Not,Eq.mp,Multiset,Ne,Polynomial.IsRoot,congr,Polynomial.eval,Polynomial.eval_map,eq_self56 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
h_inv_lemmaline 951 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,CommRing,Algebra,AlgEquiv,TensorProduct,Eq,AlgHom,Algebra.TensorProduct.map,AlgEquiv.symm,AlgHom.idProof uses:
symm,TensorProduct.induction_on,of_eq_true,OfNat.ofNat,Eq.trans,True,congrArg,map_zero,eq_self,TensorProduct.tmul,AlgEquiv.symm_apply_apply,HAdd.hAdd,map_add,RingHom.id,congr97 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- lemma
h_map_u_lemmaline 956 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,CommRing,Algebra,IsScalarTower,AlgEquiv,Eq,RingHom,algebraMap,TensorProduct,AlgHom,Algebra.TensorProduct.map,AlgEquiv.symm,AlgHom.id, u_elem,HSub.hSub,TensorProduct.tmul,OfNat.ofNatProof uses:
of_eq_true,Eq.trans,True,HSMul.hSMul,congr,congrArg,Eq.symm,Algebra.algebraMap_eq_smul_one,map_sub,outParam,MonoidHom,MonoidHom.id,AlgEquiv.symm_apply_apply,map_one,eq_self,eq_true,True.intro121 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
ideal_span_singleton_mapline 963 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
CommRing,RingHom,Membership.mem,Ideal,Ideal.span,Singleton.singleton,SetProof uses:
Eq,HMul.hMul,Exists,Iff.mp,Ideal.mem_span_singleton',Eq.mpr,id,congrArg,map_mul,Iff.mpr,Exists.intro,rfl34 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- lemma
rev_dir_reducedline 969 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,CommRing,Algebra,Algebra.IsSeparable,IsScalarTower,IsAlgClosure,IsReduced,TensorProductProof uses:
IsReduced.mk,IsNilpotent,Nat,Eq,HPow.hPow,OfNat.ofNat,Algebra.IsAlgebraic, isAlgebraic_of_isSeparable, isAlgClosure_of_isAlgebraic,Exists.intro,Finset,AlgHom,Membership.mem,Algebra.TensorProduct.map,AlgHom.id,Exists, finite_conjugates_aux,List,List.map, get_y_fun and 79 more164 instances, coercions and auxiliary constants left out.
Tactic trace: 57 steps
Open to load the checked before-and-after goal states.
- lemma
rev_dirline 1034 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,CommRing,Algebra,Algebra.IsSeparable,IsScalarTower,Algebra.IsGeometricallyReducedProof uses:
AlgebraicClosure,Algebra.IsAlgebraic, isAlgebraic_of_isSeparable,IsAlgClosure,MvPolynomial,AlgebraicClosure.Vars,AlgebraicClosure.maxIdeal, isAlgClosure_of_isAlgebraic,IsReduced,TensorProduct,Iff.mp, geom_reduced_of_alg_closure, rev_dir_reduced,Iff.mpr65 instances, coercions and auxiliary constants left out.
Tactic trace: 6 steps
Open to load the checked before-and-after goal states.
- theorem
isGeometricallyReduced_iff_of_separable_algebraicline 1048 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
Field,CommRing,Algebra,Algebra.IsSeparable,IsScalarTower,Iff,Algebra.IsGeometricallyReducedProof uses:
Iff.intro, fwd_dir, rev_dir24 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.