MatchingLogic.EntryIII.Alpha #
theorem
MatchingLogic.Pattern.captureFree_of_not_mem_allVars
{S : Signature}
{x y : ℕ}
{p : Pattern S ℕ}
(hy : y ∉ p.allVars)
:
CaptureFree x y p
A name absent from all raw occurrences is capture-free as a replacement.
theorem
MatchingLogic.Pattern.captureFree_reverse_substVar
{S : Signature}
{x y : ℕ}
{p : Pattern S ℕ}
(hy : y ∉ p.allVars)
:
CaptureFree y x (substVar x y p)
The reverse leg of a fresh substitution is itself capture-free.
theorem
MatchingLogic.Provable.alphaEx_forward
{S : Signature}
{Gamma : Set (Pattern S ℕ)}
{x y : ℕ}
{p : Pattern S ℕ}
(hy : y ∉ p.allVars)
:
Provable Gamma ((Pattern.ex x p).imp (Pattern.ex y (substVar x y p)))
Derived forward alpha conversion for an existential binder.
theorem
MatchingLogic.Provable.alphaEx_backward
{S : Signature}
{Gamma : Set (Pattern S ℕ)}
{x y : ℕ}
{p : Pattern S ℕ}
(hy : y ∉ p.allVars)
:
Provable Gamma ((Pattern.ex y (substVar x y p)).imp (Pattern.ex x p))
Derived backward alpha conversion for an existential binder.