Step
*
1
10
1
1
1
of Lemma
FOL-proveable-evidence
1. hyps : mFOL() List
2. concl : mFOL()
3. subgoals : mFOL-sequent() List
4. hypnum : ℕ
5. hypnum < ||hyps||
6. ↑mFOconnect?(hyps[hypnum])
7. mFOconnect-knd(hyps[hypnum]) = "imp" ∈ Atom
8. FOL-sequent-evidence{i:l}(<hyps, mFOconnect-left(hyps[hypnum])>)
9. [Dom] : Type
10. [S] : FOStruct+{i:l}(Dom)
11. a : FOAssignment(mFOL-sequent-freevars(<hyps, mFOconnect-right(hyps[hypnum])>),Dom)
12. (((Dom,S,a +|= FOL-abstract(mFOconnect-left(hyps[hypnum]))
⇒ Dom,S,a +|= FOL-abstract(mFOconnect-right(hyps[hypnum]))) ⋃ (S "false" []))
∧ Dom,S,a +|= FOL-abstract(mFOconnect-left(hyps[hypnum]))) ⋃ (S "false" [])
⊢ Dom,S,a +|= FOL-abstract(mFOconnect-right(hyps[hypnum]))
BY
{ ((RenameVar `x' (-1) THEN UseWitness ⌜let u,v = x in u v⌝⋅)
   THEN D_b_union (-1)
   THEN Try ((D -1 THEN Reduce 0 THEN D_b_union (-2)))) }
1
1. hyps : mFOL() List
2. concl : mFOL()
3. subgoals : mFOL-sequent() List
4. hypnum : ℕ
5. hypnum < ||hyps||
6. ↑mFOconnect?(hyps[hypnum])
7. mFOconnect-knd(hyps[hypnum]) = "imp" ∈ Atom
8. FOL-sequent-evidence{i:l}(<hyps, mFOconnect-left(hyps[hypnum])>)
9. Dom : Type
10. S : FOStruct+{i:l}(Dom)
11. a : FOAssignment(mFOL-sequent-freevars(<hyps, mFOconnect-right(hyps[hypnum])>),Dom)
12. a6 : Dom,S,a +|= FOL-abstract(mFOconnect-left(hyps[hypnum]))
⇒ Dom,S,a +|= FOL-abstract(mFOconnect-right(hyps[hypnum]))
13. a4 : Dom,S,a +|= FOL-abstract(mFOconnect-left(hyps[hypnum]))
⊢ a6 a4 ∈ Dom,S,a +|= FOL-abstract(mFOconnect-right(hyps[hypnum]))
2
1. hyps : mFOL() List
2. concl : mFOL()
3. subgoals : mFOL-sequent() List
4. hypnum : ℕ
5. hypnum < ||hyps||
6. ↑mFOconnect?(hyps[hypnum])
7. mFOconnect-knd(hyps[hypnum]) = "imp" ∈ Atom
8. FOL-sequent-evidence{i:l}(<hyps, mFOconnect-left(hyps[hypnum])>)
9. Dom : Type
10. S : FOStruct+{i:l}(Dom)
11. a : FOAssignment(mFOL-sequent-freevars(<hyps, mFOconnect-right(hyps[hypnum])>),Dom)
12. a6 : S "false" []
13. a4 : Dom,S,a +|= FOL-abstract(mFOconnect-left(hyps[hypnum]))
⊢ a6 a4 ∈ Dom,S,a +|= FOL-abstract(mFOconnect-right(hyps[hypnum]))
3
1. hyps : mFOL() List
2. concl : mFOL()
3. subgoals : mFOL-sequent() List
4. hypnum : ℕ
5. hypnum < ||hyps||
6. ↑mFOconnect?(hyps[hypnum])
7. mFOconnect-knd(hyps[hypnum]) = "imp" ∈ Atom
8. FOL-sequent-evidence{i:l}(<hyps, mFOconnect-left(hyps[hypnum])>)
9. Dom : Type
10. S : FOStruct+{i:l}(Dom)
11. a : FOAssignment(mFOL-sequent-freevars(<hyps, mFOconnect-right(hyps[hypnum])>),Dom)
12. a2 : S "false" []
⊢ let u,v = a2 
  in u v ∈ Dom,S,a +|= FOL-abstract(mFOconnect-right(hyps[hypnum]))
Latex:
Latex:
1.  hyps  :  mFOL()  List
2.  concl  :  mFOL()
3.  subgoals  :  mFOL-sequent()  List
4.  hypnum  :  \mBbbN{}
5.  hypnum  <  ||hyps||
6.  \muparrow{}mFOconnect?(hyps[hypnum])
7.  mFOconnect-knd(hyps[hypnum])  =  "imp"
8.  FOL-sequent-evidence\{i:l\}(<hyps,  mFOconnect-left(hyps[hypnum])>)
9.  [Dom]  :  Type
10.  [S]  :  FOStruct+\{i:l\}(Dom)
11.  a  :  FOAssignment(mFOL-sequent-freevars(<hyps,  mFOconnect-right(hyps[hypnum])>),Dom)
12.  (((Dom,S,a  +|=  FOL-abstract(mFOconnect-left(hyps[hypnum]))
{}\mRightarrow{}  Dom,S,a  +|=  FOL-abstract(mFOconnect-right(hyps[hypnum])))  \mcup{}  (S  "false"  []))
\mwedge{}  Dom,S,a  +|=  FOL-abstract(mFOconnect-left(hyps[hypnum])))  \mcup{}  (S  "false"  [])
\mvdash{}  Dom,S,a  +|=  FOL-abstract(mFOconnect-right(hyps[hypnum]))
By
Latex:
((RenameVar  `x'  (-1)  THEN  UseWitness  \mkleeneopen{}let  u,v  =  x  in  u  v\mkleeneclose{}\mcdot{})
  THEN  D\_b\_union  (-1)
  THEN  Try  ((D  -1  THEN  Reduce  0  THEN  D\_b\_union  (-2))))
Home
Index