Step
*
1
9
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]) = "or" ∈ Atom
8. FOL-sequent-evidence{i:l}(<[mFOconnect-left(hyps[hypnum]) / hyps], concl>)
9. FOL-sequent-evidence{i:l}(<[mFOconnect-right(hyps[hypnum]) / hyps], concl>)
10. hyps[hypnum] = mFOconnect-left(hyps[hypnum]) ∨ mFOconnect-right(hyps[hypnum]) ∈ mFOL()
⊢ FOL-sequent-evidence{i:l}(<hyps, concl>)
BY
{ (D 0
   THEN Auto
   THEN (Assert Dom,S,a +|= FOL-sequent-abstract(<[mFOconnect-left(hyps[hypnum]) / hyps], concl>) BY
               (Auto
                THEN All (RepUR ``FOL-sequent-evidence FO-uniform-evidence``)
                THEN BackThruSomeHyp
                THEN Using [`B', ⌜mFOL-freevars(hyps[hypnum])⌝] (BLemma  `l_contains_transitivity`)⋅
                THEN EAuto 1))
   THEN Thin (-7)
   THEN RenameVar `f' (-1)
   THEN (Assert Dom,S,a +|= FOL-sequent-abstract(<[mFOconnect-right(hyps[hypnum]) / hyps], concl>) BY
               (Auto
                THEN All (RepUR ``FOL-sequent-evidence FO-uniform-evidence``)
                THEN BackThruSomeHyp
                THEN Using [`B', ⌜mFOL-freevars(hyps[hypnum])⌝] (BLemma  `l_contains_transitivity`)⋅
                THEN EAuto 1))
   THEN Thin (-7)
   THEN RenameVar `g' (-1)
   THEN All (Unfolds ``FOL-sequent-abstract FOSatWith+``)
   THEN All PrimReduce) }
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]) = "or" ∈ Atom
8. hyps[hypnum] = mFOconnect-left(hyps[hypnum]) ∨ mFOconnect-right(hyps[hypnum]) ∈ mFOL()
9. [Dom] : Type
10. [S] : FOStruct+{i:l}(Dom)
11. a : FOAssignment(mFOL-sequent-freevars(<hyps, concl>),Dom)
12. f : tuple-type(FOL-hyps-meaning(Dom;S;a;[mFOconnect-left(hyps[hypnum]) / hyps])) ⟶ Dom,S,a +|= FOL-abstract(concl)
13. g : tuple-type(FOL-hyps-meaning(Dom;S;a;[mFOconnect-right(hyps[hypnum]) / hyps])) ⟶ Dom,S,a +|= FOL-abstract(concl)
⊢ tuple-type(FOL-hyps-meaning(Dom;S;a;hyps)) ⟶ Dom,S,a +|= FOL-abstract(concl)
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])  =  "or"
8.  FOL-sequent-evidence\{i:l\}(<[mFOconnect-left(hyps[hypnum])  /  hyps],  concl>)
9.  FOL-sequent-evidence\{i:l\}(<[mFOconnect-right(hyps[hypnum])  /  hyps],  concl>)
10.  hyps[hypnum]  =  mFOconnect-left(hyps[hypnum])  \mvee{}  mFOconnect-right(hyps[hypnum])
\mvdash{}  FOL-sequent-evidence\{i:l\}(<hyps,  concl>)
By
Latex:
(D  0
  THEN  Auto
  THEN  (Assert  Dom,S,a  +|=  FOL-sequent-abstract(<[mFOconnect-left(hyps[hypnum])  /  hyps],  concl>)  BY
                          (Auto
                            THEN  All  (RepUR  ``FOL-sequent-evidence  FO-uniform-evidence``)
                            THEN  BackThruSomeHyp
                            THEN  Using  [`B',  \mkleeneopen{}mFOL-freevars(hyps[hypnum])\mkleeneclose{}]  (BLemma    `l\_contains\_transitivity`)\mcdot{}
                            THEN  EAuto  1))
  THEN  Thin  (-7)
  THEN  RenameVar  `f'  (-1)
  THEN  (Assert  Dom,S,a  +|=  FOL-sequent-abstract(<[mFOconnect-right(hyps[hypnum])  /  hyps],  concl>)  BY
                          (Auto
                            THEN  All  (RepUR  ``FOL-sequent-evidence  FO-uniform-evidence``)
                            THEN  BackThruSomeHyp
                            THEN  Using  [`B',  \mkleeneopen{}mFOL-freevars(hyps[hypnum])\mkleeneclose{}]  (BLemma    `l\_contains\_transitivity`)\mcdot{}
                            THEN  EAuto  1))
  THEN  Thin  (-7)
  THEN  RenameVar  `g'  (-1)
  THEN  All  (Unfolds  ``FOL-sequent-abstract  FOSatWith+``)
  THEN  All  PrimReduce)
Home
Index