Nuprl Lemma : mFOLRule_ind_wf

[A:Type]. ∀[R:A ⟶ mFOLRule() ⟶ ℙ]. ∀[v:mFOLRule()]. ∀[andI:{x:A| R[x;andI]} ]. ∀[impI:{x:A| R[x;impI]} ].
[allI:var:ℤ ⟶ {x:A| R[x;allI with var]} ]. ∀[existsI:var:ℤ ⟶ {x:A| R[x;existsI with var]} ].
[orI:left:𝔹 ⟶ {x:A| R[x;mRuleorI(left)]} ]. ∀[hyp:{x:A| R[x;hyp]} ]. ∀[andE:hypnum:ℕ ⟶ {x:A| R[x;andE on hypnum]} ].
[orE:hypnum:ℕ ⟶ {x:A| R[x;orE on hypnum]} ]. ∀[impE:hypnum:ℕ ⟶ {x:A| R[x;impE on hypnum]} ].
[allE:hypnum:ℕ ⟶ var:ℤ ⟶ {x:A| R[x;allE on hypnum with var]} ]. ∀[existsE:hypnum:ℕ
                                                                            ⟶ var:ℤ
                                                                            ⟶ {x:A| R[x;existsE on hypnum with var]} ].
  (case(v)
   andI => andI
   impI => impI
   allI with var => allI[var]
   existsI with var => existsI[var]
   orI (left?left) => orI[left]
   hyp => hyp
   andE @hypnum => andE[hypnum]
   orE @hypnum => orE[hypnum]
   impE @hypnum => impE[hypnum]
   allE @hypnum with var => allE[hypnum;var]
   existsE @hypnum with var => existsE[hypnum;var] ∈ {x:A| R[x;v]} )


Proof




Definitions occuring in Statement :  mFOLRule_ind: mFOLRule_ind mRuleexistsE: existsE on hypnum with var mRuleallE: allE on hypnum with var mRuleimpE: impE on hypnum mRuleorE: orE on hypnum mRuleandE: andE on hypnum mRulehyp: hyp mRuleorI: mRuleorI(left) mRuleexistsI: existsI with var mRuleallI: allI with var mRuleimpI: impI mRuleandI: andI mFOLRule: mFOLRule() nat: bool: 𝔹 uall: [x:A]. B[x] prop: so_apply: x[s1;s2] so_apply: x[s] member: t ∈ T set: {x:A| B[x]}  function: x:A ⟶ B[x] int: universe: Type
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T mFOLRule_ind: mFOLRule_ind so_apply: x[s1;s2] so_apply: x[s] mFOLRule-definition mFOLRule-induction mFOLRule-ext ext-eq_weakening eq_atom: =a y btrue: tt it: bfalse: ff bool_cases_sqequal eqff_to_assert any: any x all: x:A. B[x] implies:  Q has-value: (a)↓ so_lambda: so_lambda4 so_apply: x[s1;s2;s3;s4] so_lambda: λ2x.t[x] uimplies: supposing a subtype_rel: A ⊆B prop: guard: {T}
Lemmas referenced :  mFOLRule-definition has-value_wf_base is-exception_wf lifting-strict-atom_eq strict4-decide mRuleandI_wf mRuleimpI_wf istype-int mRuleallI_wf mRuleexistsI_wf bool_wf mRuleorI_wf mRulehyp_wf istype-nat mRuleandE_wf mRuleorE_wf mRuleimpE_wf mRuleallE_wf mRuleexistsE_wf mFOLRule_wf subtype_rel_function nat_wf subtype_rel_self istype-universe mFOLRule-induction mFOLRule-ext ext-eq_weakening bool_cases_sqequal eqff_to_assert
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation_alt cut sqequalRule Error :memTop,  inhabitedIsType hypothesis lambdaFormation_alt thin sqequalSqle divergentSqle callbyvalueDecide sqequalHypSubstitution hypothesisEquality unionElimination sqleReflexivity equalityIstype equalityTransitivity equalitySymmetry dependent_functionElimination independent_functionElimination introduction decideExceptionCases axiomSqleEquality exceptionSqequal baseApply closedConclusion baseClosed extract_by_obid isectElimination independent_isectElimination lambdaEquality_alt isectIsType functionIsType universeIsType universeEquality setIsType because_Cache applyEquality functionEquality setEquality instantiate functionExtensionality intEquality

Latex:
\mforall{}[A:Type].  \mforall{}[R:A  {}\mrightarrow{}  mFOLRule()  {}\mrightarrow{}  \mBbbP{}].  \mforall{}[v:mFOLRule()].  \mforall{}[andI:\{x:A|  R[x;andI]\}  ].  \mforall{}[impI:\{x:A| 
                                                                                                                                                                                  R[x;
                                                                                                                                                                                    impI]\}  ].
\mforall{}[allI:var:\mBbbZ{}  {}\mrightarrow{}  \{x:A|  R[x;allI  with  var]\}  ].  \mforall{}[existsI:var:\mBbbZ{}  {}\mrightarrow{}  \{x:A|  R[x;existsI  with  var]\}  ].
\mforall{}[orI:left:\mBbbB{}  {}\mrightarrow{}  \{x:A|  R[x;mRuleorI(left)]\}  ].  \mforall{}[hyp:\{x:A|  R[x;hyp]\}  ].
\mforall{}[andE:hypnum:\mBbbN{}  {}\mrightarrow{}  \{x:A|  R[x;andE  on  hypnum]\}  ].  \mforall{}[orE:hypnum:\mBbbN{}  {}\mrightarrow{}  \{x:A|  R[x;orE  on  hypnum]\}  ].
\mforall{}[impE:hypnum:\mBbbN{}  {}\mrightarrow{}  \{x:A|  R[x;impE  on  hypnum]\}  ].  \mforall{}[allE:hypnum:\mBbbN{}
                                                                                                              {}\mrightarrow{}  var:\mBbbZ{}
                                                                                                              {}\mrightarrow{}  \{x:A|  R[x;allE  on  hypnum  with  var]\}  ].
\mforall{}[existsE:hypnum:\mBbbN{}  {}\mrightarrow{}  var:\mBbbZ{}  {}\mrightarrow{}  \{x:A|  R[x;existsE  on  hypnum  with  var]\}  ].
    (case(v)
      andI  =>  andI
      impI  =>  impI
      allI  with  var  =>  allI[var]
      existsI  with  var  =>  existsI[var]
      orI  (left?left)  =>  orI[left]
      hyp  =>  hyp
      andE  @hypnum  =>  andE[hypnum]
      orE  @hypnum  =>  orE[hypnum]
      impE  @hypnum  =>  impE[hypnum]
      allE  @hypnum  with  var  =>  allE[hypnum;var]
      existsE  @hypnum  with  var  =>  existsE[hypnum;var]  \mmember{}  \{x:A|  R[x;v]\}  )



Date html generated: 2020_05_20-AM-09_09_17
Last ObjectModification: 2020_01_24-PM-03_23_00

Theory : minimal-first-order-logic


Home Index