Step
*
1
2
1
of Lemma
FOL-proveable-evidence
1. hyps : mFOL() List
2. concl : mFOL()
3. subgoals : mFOL-sequent() List
4. subproofs : ℕ||subgoals|| ⟶ proof-tree(mFOL-sequent();FOLRule();λsr.FOLeffect(sr))
5. ∀b:ℕ||subgoals||. ∀s:mFOL-sequent().
     (correct_proof(mFOL-sequent();λsr.FOLeffect(sr);s;subproofs b) 
⇒ FOL-sequent-evidence{i:l}(s))
6. ∀i:ℕ||subgoals||. correct_proof(mFOL-sequent();λsr.FOLeffect(sr);subgoals[i];subproofs i)
7. ↑mFOconnect?(concl)
8. mFOconnect-knd(concl) = "imp" ∈ Atom
9. [<[mFOconnect-left(concl) / hyps], mFOconnect-right(concl)>] = subgoals ∈ (mFOL-sequent() List)
10. [Dom] : Type
11. [S] : FOStruct+{i:l}(Dom)
12. a : FOAssignment(mFOL-sequent-freevars(<hyps, mFOconnect-left(concl) 
⇒ mFOconnect-right(concl)>),Dom)
13. g : tuple-type(FOL-hyps-meaning(Dom;S;a;[mFOconnect-left(concl) / hyps]))
⟶ Dom,S,a +|= FOL-abstract(mFOconnect-right(concl))
⊢ tuple-type(FOL-hyps-meaning(Dom;S;a;hyps)) ⟶ ((Dom,S,a +|= FOL-abstract(mFOconnect-left(concl))
                                                
⇒ Dom,S,a +|= FOL-abstract(mFOconnect-right(concl))) ⋃ (S "false" []))
BY
{ (UseWitness ⌜if null(hyps) then λx,y. (g y) else λx,y. (g <y, x>) fi ⌝⋅
   THEN All (\h. RepUR ``FOL-sequent-abstract FOSatWith+`` h)⋅
   THEN All (Fold `FOSatWith+`)
   THEN (RWO "FOL-hyps-meaning-cons" (-1) THENA Auto)
   THEN D 1
   THEN All Reduce
   THEN Auto)⋅ }
Latex:
Latex:
1.  hyps  :  mFOL()  List
2.  concl  :  mFOL()
3.  subgoals  :  mFOL-sequent()  List
4.  subproofs  :  \mBbbN{}||subgoals||  {}\mrightarrow{}  proof-tree(mFOL-sequent();FOLRule();\mlambda{}sr.FOLeffect(sr))
5.  \mforall{}b:\mBbbN{}||subgoals||.  \mforall{}s:mFOL-sequent().
          (correct\_proof(mFOL-sequent();\mlambda{}sr.FOLeffect(sr);s;subproofs  b)  {}\mRightarrow{}  FOL-sequent-evidence\{i:l\}(s))
6.  \mforall{}i:\mBbbN{}||subgoals||.  correct\_proof(mFOL-sequent();\mlambda{}sr.FOLeffect(sr);subgoals[i];subproofs  i)
7.  \muparrow{}mFOconnect?(concl)
8.  mFOconnect-knd(concl)  =  "imp"
9.  [<[mFOconnect-left(concl)  /  hyps],  mFOconnect-right(concl)>]  =  subgoals
10.  [Dom]  :  Type
11.  [S]  :  FOStruct+\{i:l\}(Dom)
12.  a  :  FOAssignment(mFOL-sequent-freevars(<hyps,  mFOconnect-left(concl)  {}\mRightarrow{}  mFOconnect-right(concl)>\000C),Dom)
13.  g  :  tuple-type(FOL-hyps-meaning(Dom;S;a;[mFOconnect-left(concl)  /  hyps]))
{}\mrightarrow{}  Dom,S,a  +|=  FOL-abstract(mFOconnect-right(concl))
\mvdash{}  tuple-type(FOL-hyps-meaning(Dom;S;a;hyps))
{}\mrightarrow{}  ((Dom,S,a  +|=  FOL-abstract(mFOconnect-left(concl))
      {}\mRightarrow{}  Dom,S,a  +|=  FOL-abstract(mFOconnect-right(concl)))  \mcup{}  (S  "false"  []))
By
Latex:
(UseWitness  \mkleeneopen{}if  null(hyps)  then  \mlambda{}x,y.  (g  y)  else  \mlambda{}x,y.  (g  <y,  x>)  fi  \mkleeneclose{}\mcdot{}
  THEN  All  (\mbackslash{}h.  RepUR  ``FOL-sequent-abstract  FOSatWith+``  h)\mcdot{}
  THEN  All  (Fold  `FOSatWith+`)
  THEN  (RWO  "FOL-hyps-meaning-cons"  (-1)  THENA  Auto)
  THEN  D  1
  THEN  All  Reduce
  THEN  Auto)\mcdot{}
Home
Index