MatchingLogic.EntryIII.CanonicalChoice #
theorem
MatchingLogic.IsMCS.app_choice_at
{S : Signature}
{Gamma : Set (Pattern S ℕ)}
(hM : IsMCS Gamma)
{sigma : S.Sym}
(args : Fin (S.arity sigma) → Pattern S ℕ)
(i : Fin (S.arity sigma))
(psi : Pattern S ℕ)
(happ : Pattern.app sigma args ∈ Gamma)
:
The one-coordinate distribution step. It is the binary branching node in
the source's 2^n disjunction argument.
theorem
MatchingLogic.IsMCS.app_joint_choice
{S : Signature}
{Gamma : Set (Pattern S ℕ)}
(hM : IsMCS Gamma)
{sigma : S.Sym}
(Phi : Fin (S.arity sigma) → Pattern S ℕ)
(psi : Pattern S ℕ)
(happ : Pattern.app sigma Phi ∈ Gamma)
:
Joint finite-product decision used in every stage of the n-ary canonical Existence Lemma. This includes the nullary case.
theorem
MatchingLogic.IsMCS.exists_joint_choice
{S : Signature}
{Gamma : Set (Pattern S ℕ)}
(hM : IsMCS Gamma)
{sigma : S.Sym}
(L : Fin (S.arity sigma) → List (Pattern S ℕ))
(psi : Pattern S ℕ)
(happ : (Pattern.app sigma fun (i : Fin (S.arity sigma)) => conj (L i)) ∈ Gamma)
:
List-conjunction specialization consumed directly by the simultaneous finite-stage construction in the canonical Existence Lemma.