Step
*
1
8
1
1
2
1
of Lemma
FOL-proveable-evidence
1. hyps : mFOL() List
2. concl : mFOL()
3. hypnum : ℕ
4. hypnum < ||hyps||
5. ↑mFOconnect?(hyps[hypnum])
6. mFOconnect-knd(hyps[hypnum]) = "and" ∈ Atom
7. FOL-sequent-evidence{i:l}(<[mFOconnect-left(hyps[hypnum]); [mFOconnect-right(hyps[hypnum]) / hyps]], concl>)
8. hyps[hypnum] = mFOconnect-left(hyps[hypnum]) ∧ mFOconnect-right(hyps[hypnum]) ∈ mFOL()
9. mFOL-freevars(mFOconnect-left(hyps[hypnum])) ⊆ mFOL-freevars(hyps[hypnum])
10. [Dom] : Type
11. [S] : FOStruct+{i:l}(Dom)
12. a : FOAssignment(mFOL-sequent-freevars(<[mFOconnect-right(hyps[hypnum]) / hyps], mFOconnect-left(hyps[hypnum])>),Dom\000C)
13. (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]))
BY
{ ((RenameVar `x' (-1) THEN UseWitness ⌜fst(x)⌝⋅) THEN D_b_union (-1)) }
1
1. hyps : mFOL() List
2. concl : mFOL()
3. hypnum : ℕ
4. hypnum < ||hyps||
5. ↑mFOconnect?(hyps[hypnum])
6. mFOconnect-knd(hyps[hypnum]) = "and" ∈ Atom
7. FOL-sequent-evidence{i:l}(<[mFOconnect-left(hyps[hypnum]); [mFOconnect-right(hyps[hypnum]) / hyps]], concl>)
8. hyps[hypnum] = mFOconnect-left(hyps[hypnum]) ∧ mFOconnect-right(hyps[hypnum]) ∈ mFOL()
9. mFOL-freevars(mFOconnect-left(hyps[hypnum])) ⊆ mFOL-freevars(hyps[hypnum])
10. Dom : Type
11. S : FOStruct+{i:l}(Dom)
12. a : FOAssignment(mFOL-sequent-freevars(<[mFOconnect-right(hyps[hypnum]) / hyps], mFOconnect-left(hyps[hypnum])>),Dom\000C)
13. a2 : Dom,S,a +|= FOL-abstract(mFOconnect-left(hyps[hypnum]))
∧ Dom,S,a +|= FOL-abstract(mFOconnect-right(hyps[hypnum]))
⊢ fst(a2) ∈ Dom,S,a +|= FOL-abstract(mFOconnect-left(hyps[hypnum]))
2
1. hyps : mFOL() List
2. concl : mFOL()
3. hypnum : ℕ
4. hypnum < ||hyps||
5. ↑mFOconnect?(hyps[hypnum])
6. mFOconnect-knd(hyps[hypnum]) = "and" ∈ Atom
7. FOL-sequent-evidence{i:l}(<[mFOconnect-left(hyps[hypnum]); [mFOconnect-right(hyps[hypnum]) / hyps]], concl>)
8. hyps[hypnum] = mFOconnect-left(hyps[hypnum]) ∧ mFOconnect-right(hyps[hypnum]) ∈ mFOL()
9. mFOL-freevars(mFOconnect-left(hyps[hypnum])) ⊆ mFOL-freevars(hyps[hypnum])
10. Dom : Type
11. S : FOStruct+{i:l}(Dom)
12. a : FOAssignment(mFOL-sequent-freevars(<[mFOconnect-right(hyps[hypnum]) / hyps], mFOconnect-left(hyps[hypnum])>),Dom\000C)
13. a2 : S "false" []
⊢ fst(a2) ∈ Dom,S,a +|= FOL-abstract(mFOconnect-left(hyps[hypnum]))
Latex:
Latex:
1.  hyps  :  mFOL()  List
2.  concl  :  mFOL()
3.  hypnum  :  \mBbbN{}
4.  hypnum  <  ||hyps||
5.  \muparrow{}mFOconnect?(hyps[hypnum])
6.  mFOconnect-knd(hyps[hypnum])  =  "and"
7.  FOL-sequent-evidence\{i:l\}(<[mFOconnect-left(hyps[hypnum]);
                                                              [mFOconnect-right(hyps[hypnum])  /  hyps]]
                                                          ,  concl
                                                          >)
8.  hyps[hypnum]  =  mFOconnect-left(hyps[hypnum])  \mwedge{}  mFOconnect-right(hyps[hypnum])
9.  mFOL-freevars(mFOconnect-left(hyps[hypnum]))  \msubseteq{}  mFOL-freevars(hyps[hypnum])
10.  [Dom]  :  Type
11.  [S]  :  FOStruct+\{i:l\}(Dom)
12.  a  :  FOAssignment(mFOL-sequent-freevars(<[mFOconnect-right(hyps[hypnum])  /  hyps]
                                                                                      ,  mFOconnect-left(hyps[hypnum])
                                                                                      >),Dom)
13.  (Dom,S,a  +|=  FOL-abstract(mFOconnect-left(hyps[hypnum]))
\mwedge{}  Dom,S,a  +|=  FOL-abstract(mFOconnect-right(hyps[hypnum])))  \mcup{}  (S  "false"  [])
\mvdash{}  Dom,S,a  +|=  FOL-abstract(mFOconnect-left(hyps[hypnum]))
By
Latex:
((RenameVar  `x'  (-1)  THEN  UseWitness  \mkleeneopen{}fst(x)\mkleeneclose{}\mcdot{})  THEN  D\_b\_union  (-1))
Home
Index