Finite-index congruences form a filter
ProvedHJMEilenberg.finiteIndex_filterLet be a finite sort type, an -sorted signature, and a -algebra. The universal congruence on has finite index; the intersection of any two finite-index congruences has finite index; and every congruence above a finite-index congruence has finite index.
Equivalently, the finite-index congruences form a filter in the congruence order. This supplies the finiteness closure needed in both formation constructions.
import Definitions.Def_HJMEilenberg_Formations
namespace HJMEilenberg
open MSKleene
/-- Proposition 6.7: finite-index congruences form a filter. -/
theorem finiteIndex_filter {S : Type} [Finite S] {sig : Signature S}
(A : Algebra sig) :
Congruence.FiniteIndex (Congruence.top A) ∧
(∀ Phi Psi : Congruence A,
Phi.FiniteIndex → Psi.FiniteIndex →
(Congruence.inter Phi Psi).FiniteIndex) ∧
(∀ Phi Psi : Congruence A,
Phi.FiniteIndex → Phi ≤ Psi → Psi.FiniteIndex) := by
sorry
end HJMEilenbergRead-back
What the Lean code literally says, in plain math · gpt-5
For every type of sorts equipped with a finiteness instance (with no nonemptiness assumption), every -sorted signature —that is, an arbitrary family of types of operation symbols indexed by every finite list of input sorts and output sort , with no finiteness restriction on the operation-symbol types—and every -algebra , consisting of carrier types (which may be empty or infinite) and an interpretation for every symbol of rank , the following three assertions hold simultaneously: (i) the universal congruence , which relates every pair of elements within each sort, has finite index; (ii) for every two congruences on , if each has finite index, then their intersection , whose relation at sort is , has finite index; and (iii) for every two congruences on , if has finite index and , meaning that for every sort and all , implies , then has finite index. Here a congruence is, at every sort, an equivalence relation preserved componentwise by every basic operation of , and “ has finite index” means literally that the total disjoint union of all sortwise quotient types is finite. Thus the quantified implications are vacuously satisfied whenever their antecedent finite-index conditions fail; may be empty, in which case every such disjoint union is empty, and a carrier may itself be empty, in which case its quotient contributes no element, whereas under an inhabited carrier contributes exactly one quotient class.
Confirmed by the mission captain (proposal self-audit).