Commit 2023-02-21 09:05 3ce8f3f7

View on Github →

feat: port RingTheory.Ideal.Basic (#2283) This only needs the dependency below in one place (otherwise LinearAlgebra.Span suffices as a replacement import). This file is done otherwise. porting notes:

  1. to appease the simpNF linter, I increased the priority of a few simp lemmas
  2. The lean 4 issue 2074 appeared in (only one!) place in this file. I worked around it for now and left a note.

Estimated changes

added theorem Ideal.IsMaximal.ne_top
added theorem Ideal.IsPrime.ne_top
added theorem Ideal.bot_isMaximal
added theorem Ideal.bot_prime
added theorem Ideal.eq_bot_of_prime
added theorem Ideal.eq_bot_or_top
added theorem Ideal.eq_top_iff_one
added theorem Ideal.exists_maximal
added theorem Ideal.ext
added theorem Ideal.isMaximal_def
added theorem Ideal.isMaximal_iff
added theorem Ideal.isPrime_iff
added theorem Ideal.mem_bot
added theorem Ideal.mem_inf
added theorem Ideal.mem_infᵢ
added theorem Ideal.mem_infₛ
added theorem Ideal.mem_pi
added theorem Ideal.mem_span
added theorem Ideal.mem_span_insert'
added theorem Ideal.mem_span_insert
added theorem Ideal.mem_span_pair
added theorem Ideal.mem_sup_left
added theorem Ideal.mem_sup_right
added theorem Ideal.mul_mem_left
added theorem Ideal.mul_mem_right
added theorem Ideal.mul_sub_mul_mem
added theorem Ideal.ne_top_iff_one
added theorem Ideal.not_isPrime_iff
added def Ideal.ofRel
added def Ideal.pi
added theorem Ideal.pow_mem_of_mem
added def Ideal.span
added theorem Ideal.span_empty
added theorem Ideal.span_eq
added theorem Ideal.span_eq_bot
added theorem Ideal.span_insert
added theorem Ideal.span_le
added theorem Ideal.span_mono
added theorem Ideal.span_one
added theorem Ideal.span_pair_comm
added theorem Ideal.span_pow_eq_top
added theorem Ideal.span_union
added theorem Ideal.span_unionᵢ
added theorem Ideal.span_univ
added theorem Ideal.span_zero
added theorem Ideal.subset_span
added theorem Ideal.sum_mem
added def Ideal
added theorem coe_subset_nonunits
added theorem mem_nonunits_iff
added theorem mul_mem_nonunits_left
added theorem mul_mem_nonunits_right
added def nonunits
added theorem one_not_mem_nonunits
added theorem zero_mem_nonunits