Step
*
2
of Lemma
mFOL-subst-abstract
1. Dom : Type
2. S : FOStruct(Dom)
3. fmla : mFOL()
4. x : ℤ
5. y : ℤ
6. v : mFOL()
7. mFOL-freevars(v) = mFOL-freevars(fmla) ∈ (ℤ List)
8. mFOL-abstract(v) = mFOL-abstract(fmla) ∈ AbstractFOFormula(mFOL-freevars(fmla))
9. ¬(x ∈ mFOL-boundvars(v))
10. a : FOAssignment(mFOL-freevars(mFOL-rename(v;y;x)),Dom)
11. a[y := a x] = if y ∈b mFOL-freevars(v) then a[y := a x] else a fi ∈ FOAssignment(mFOL-freevars(v),Dom)
⊢ Dom,S,a |= mFOL-abstract(mFOL-rename(v;y;x)) = Dom,S,a[y := a x] |= mFOL-abstract(fmla) ∈ ℙ
BY
{ ((InstLemma `mFOL-abstract-rename` [⌜Dom⌝;⌜S⌝;⌜x⌝;⌜y⌝;⌜v⌝;⌜a⌝;⌜a[y := a x]⌝]⋅ THENA Try (Complete (Auto)))
THEN Try ((Symmetry THEN NthHypEq' (-1) THEN EqCD THEN (Trivial⋅ ORELSE (EqCD THEN Try (Complete (Auto))))))
) }
1
.....subterm..... T:t
3:n
1. Dom : Type
2. S : FOStruct(Dom)
3. fmla : mFOL()
4. x : ℤ
5. y : ℤ
6. v : mFOL()
7. mFOL-freevars(v) = mFOL-freevars(fmla) ∈ (ℤ List)
8. mFOL-abstract(v) = mFOL-abstract(fmla) ∈ AbstractFOFormula(mFOL-freevars(fmla))
9. ¬(x ∈ mFOL-boundvars(v))
10. a : FOAssignment(mFOL-freevars(mFOL-rename(v;y;x)),Dom)
11. a[y := a x] = if y ∈b mFOL-freevars(v) then a[y := a x] else a fi ∈ FOAssignment(mFOL-freevars(v),Dom)
12. Dom,S,a[y := a x] |= mFOL-abstract(v) = Dom,S,a |= mFOL-abstract(mFOL-rename(v;y;x)) ∈ ℙ
⊢ a[y := a x] = a[y := a x] ∈ FOAssignment(mFOL-freevars(fmla),Dom)
Latex:
Latex:
1. Dom : Type
2. S : FOStruct(Dom)
3. fmla : mFOL()
4. x : \mBbbZ{}
5. y : \mBbbZ{}
6. v : mFOL()
7. mFOL-freevars(v) = mFOL-freevars(fmla)
8. mFOL-abstract(v) = mFOL-abstract(fmla)
9. \mneg{}(x \mmember{} mFOL-boundvars(v))
10. a : FOAssignment(mFOL-freevars(mFOL-rename(v;y;x)),Dom)
11. a[y := a x] = if y \mmember{}\msubb{} mFOL-freevars(v) then a[y := a x] else a fi
\mvdash{} Dom,S,a |= mFOL-abstract(mFOL-rename(v;y;x)) = Dom,S,a[y := a x] |= mFOL-abstract(fmla)
By
Latex:
((InstLemma `mFOL-abstract-rename` [\mkleeneopen{}Dom\mkleeneclose{};\mkleeneopen{}S\mkleeneclose{};\mkleeneopen{}x\mkleeneclose{};\mkleeneopen{}y\mkleeneclose{};\mkleeneopen{}v\mkleeneclose{};\mkleeneopen{}a\mkleeneclose{};\mkleeneopen{}a[y := a x]\mkleeneclose{}]\mcdot{}
THENA Try (Complete (Auto))
)
THEN Try ((Symmetry
THEN NthHypEq' (-1)
THEN EqCD
THEN (Trivial\mcdot{} ORELSE (EqCD THEN Try (Complete (Auto))))))
)
Home
Index