Step
*
1
12
1
1
2
1
2
of Lemma
FOL-proveable-evidence
1. hyps : mFOL() List
2. concl : mFOL()
3. subgoals : mFOL-sequent() List
4. hypnum : ℕ
5. z : ℤ
6. ¬(z ∈ mFOL-sequent-freevars(<hyps, concl>))
7. hypnum < ||hyps||
8. ↑mFOquant?(hyps[hypnum])
9. mFOquant-isall(hyps[hypnum]) = ff
10. [Dom] : Type
11. [S] : FOStruct+{i:l}(Dom)
12. a : FOAssignment(mFOL-sequent-freevars(<hyps, concl>),Dom)
13. tuple-type(FOL-hyps-meaning(Dom;S;a;hyps))
14. B : mFOL()
15. mFOquant-body(hyps[hypnum]) = B ∈ mFOL()
16. y : ℤ
17. mFOquant-var(hyps[hypnum]) = y ∈ ℤ
18. FOL-sequent-evidence{i:l}(<[B[z/y] / hyps], concl>)
19. hyps[hypnum] = ∃y;B) ∈ mFOL()
20. (∃v:Dom. Dom,S,a[y := v] +|= FOL-abstract(B)) ⋃ (S "false" [])
21. ∀d:Dom. (Dom,S,a[y := d] +|= FOL-abstract(B) 
⇒ Dom,S,a +|= FOL-abstract(concl))
⊢ Dom,S,a +|= FOL-abstract(concl)
BY
{ (RenameVar `x' (-2) THEN RenameVar `f' (-1)) }
1
1. hyps : mFOL() List
2. concl : mFOL()
3. subgoals : mFOL-sequent() List
4. hypnum : ℕ
5. z : ℤ
6. ¬(z ∈ mFOL-sequent-freevars(<hyps, concl>))
7. hypnum < ||hyps||
8. ↑mFOquant?(hyps[hypnum])
9. mFOquant-isall(hyps[hypnum]) = ff
10. [Dom] : Type
11. [S] : FOStruct+{i:l}(Dom)
12. a : FOAssignment(mFOL-sequent-freevars(<hyps, concl>),Dom)
13. tuple-type(FOL-hyps-meaning(Dom;S;a;hyps))
14. B : mFOL()
15. mFOquant-body(hyps[hypnum]) = B ∈ mFOL()
16. y : ℤ
17. mFOquant-var(hyps[hypnum]) = y ∈ ℤ
18. FOL-sequent-evidence{i:l}(<[B[z/y] / hyps], concl>)
19. hyps[hypnum] = ∃y;B) ∈ mFOL()
20. x : (∃v:Dom. Dom,S,a[y := v] +|= FOL-abstract(B)) ⋃ (S "false" [])
21. f : ∀d:Dom. (Dom,S,a[y := d] +|= FOL-abstract(B) 
⇒ Dom,S,a +|= FOL-abstract(concl))
⊢ Dom,S,a +|= FOL-abstract(concl)
Latex:
Latex:
1.  hyps  :  mFOL()  List
2.  concl  :  mFOL()
3.  subgoals  :  mFOL-sequent()  List
4.  hypnum  :  \mBbbN{}
5.  z  :  \mBbbZ{}
6.  \mneg{}(z  \mmember{}  mFOL-sequent-freevars(<hyps,  concl>))
7.  hypnum  <  ||hyps||
8.  \muparrow{}mFOquant?(hyps[hypnum])
9.  mFOquant-isall(hyps[hypnum])  =  ff
10.  [Dom]  :  Type
11.  [S]  :  FOStruct+\{i:l\}(Dom)
12.  a  :  FOAssignment(mFOL-sequent-freevars(<hyps,  concl>),Dom)
13.  tuple-type(FOL-hyps-meaning(Dom;S;a;hyps))
14.  B  :  mFOL()
15.  mFOquant-body(hyps[hypnum])  =  B
16.  y  :  \mBbbZ{}
17.  mFOquant-var(hyps[hypnum])  =  y
18.  FOL-sequent-evidence\{i:l\}(<[B[z/y]  /  hyps],  concl>)
19.  hyps[hypnum]  =  \mexists{}y;B)
20.  (\mexists{}v:Dom.  Dom,S,a[y  :=  v]  +|=  FOL-abstract(B))  \mcup{}  (S  "false"  [])
21.  \mforall{}d:Dom.  (Dom,S,a[y  :=  d]  +|=  FOL-abstract(B)  {}\mRightarrow{}  Dom,S,a  +|=  FOL-abstract(concl))
\mvdash{}  Dom,S,a  +|=  FOL-abstract(concl)
By
Latex:
(RenameVar  `x'  (-2)  THEN  RenameVar  `f'  (-1))
Home
Index