Nuprl Lemma : formula_ind_wf

∀[A:Type]. ∀[R:A ⟶ formula() ⟶ ℙ]. ∀[v:formula()]. ∀[var:name:Atom ⟶ {x:A| R[x;pvar(name)]} ].
∀[not:sub:formula() ⟶ {x:A| R[x;sub]}  ⟶ {x:A| R[x;pnot(sub)]} ]. ∀[and:left:formula()
                                                                        ⟶ right:formula()
                                                                        ⟶ {x:A| R[x;left]} 
                                                                        ⟶ {x:A| R[x;right]} 
                                                                        ⟶ {x:A| R[x;pand(left;right)]} ].
∀[or:left:formula() ⟶ right:formula() ⟶ {x:A| R[x;left]}  ⟶ {x:A| R[x;right]}  ⟶ {x:A| R[x;por(left;right)]} ].
∀[imp:left:formula() ⟶ right:formula() ⟶ {x:A| R[x;left]}  ⟶ {x:A| R[x;right]}  ⟶ {x:A| R[x;pimp(left;right)]} ].
  (formula_ind(v;
               pvar(name)⇒ var[name];
               pnot(sub)⇒ rec1.not[sub;rec1];
               pand(left,right)⇒ rec2,rec3.and[left;right;rec2;rec3];
               por(left,right)⇒ rec4,rec5.or[left;right;rec4;rec5];
               pimp(left,right)⇒ rec6,rec7.imp[left;right;rec6;rec7])  ∈ {x:A| R[x;v]} )


Proof




Definitions occuring in Statement :  formula_ind: formula_ind,  pimp: pimp(left;right),  por: por(left;right),  pand: pand(left;right),  pnot: pnot(sub),  pvar: pvar(name),  formula: formula(),  uall: ∀[x:A]. B[x],  prop: ℙ,  so_apply: x[s1;s2;s3;s4],  so_apply: x[s1;s2],  so_apply: x[s],  member: t ∈ T,  set: {x:A| B[x]} ,  function: x:A ⟶ B[x],  atom: Atom,  universe: Type
Definitions unfolded in proof :  uall: ∀[x:A]. B[x],  member: t ∈ T,  formula_ind: formula_ind,  so_apply: x[s1;s2;s3;s4],  so_apply: x[s1;s2],  so_apply: x[s],  formula-definition,  formula-induction,  uniform-comp-nat-induction,  formula-ext,  eq_atom: x =a y,  btrue: tt,  it: ⋅,  bfalse: ff,  bool_cases_sqequal,  eqff_to_assert,  any: any x,  all: ∀x:A. B[x],  implies: P ⇒ Q,  has-value: (a)↓,  so_lambda: so_lambda4,  so_lambda: λ2x.t[x],  uimplies: b supposing a,  subtype_rel: A ⊆r B,  prop: ℙ,  guard: {T}
Lemmas referenced :  formula-definition,  has-value_wf_base,  is-exception_wf,  lifting-strict-atom_eq,  strict4-decide,  istype-atom,  pvar_wf,  pnot_wf,  pand_wf,  por_wf,  pimp_wf,  formula_wf,  all_wf,  set_wf,  subtype_rel_function,  subtype_rel_self,  istype-universe,  formula-induction,  uniform-comp-nat-induction,  formula-ext,  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,  atomEquality,  setElimination,  rename,  dependent_set_memberEquality_alt

Latex:
\mforall{}[A:Type].  \mforall{}[R:A  {}\mrightarrow{}  formula()  {}\mrightarrow{}  \mBbbP{}].  \mforall{}[v:formula()].  \mforall{}[var:name:Atom  {}\mrightarrow{}  \{x:A|  R[x;pvar(name)]\}  ].
\mforall{}[not:sub:formula()  {}\mrightarrow{}  \{x:A|  R[x;sub]\}    {}\mrightarrow{}  \{x:A|  R[x;pnot(sub)]\}  ].  \mforall{}[and:left:formula()
                                                                                                                                                {}\mrightarrow{}  right:formula()
                                                                                                                                                {}\mrightarrow{}  \{x:A|  R[x;left]\} 
                                                                                                                                                {}\mrightarrow{}  \{x:A|  R[x;right]\} 
                                                                                                                                                {}\mrightarrow{}  \{x:A| 
                                                                                                                                                        R[x;pand(left;right)]\}  ]\000C.
\mforall{}[or:left:formula()
          {}\mrightarrow{}  right:formula()
          {}\mrightarrow{}  \{x:A|  R[x;left]\} 
          {}\mrightarrow{}  \{x:A|  R[x;right]\} 
          {}\mrightarrow{}  \{x:A|  R[x;por(left;right)]\}  ].  \mforall{}[imp:left:formula()
                                                                                        {}\mrightarrow{}  right:formula()
                                                                                        {}\mrightarrow{}  \{x:A|  R[x;left]\} 
                                                                                        {}\mrightarrow{}  \{x:A|  R[x;right]\} 
                                                                                        {}\mrightarrow{}  \{x:A|  R[x;pimp(left;right)]\}  ].
    (formula\_ind(v;
                              pvar(name){}\mRightarrow{}  var[name];
                              pnot(sub){}\mRightarrow{}  rec1.not[sub;rec1];
                              pand(left,right){}\mRightarrow{}  rec2,rec3.and[left;right;rec2;rec3];
                              por(left,right){}\mRightarrow{}  rec4,rec5.or[left;right;rec4;rec5];
                              pimp(left,right){}\mRightarrow{}  rec6,rec7.imp[left;right;rec6;rec7])    \mmember{}  \{x:A|  R[x;v]\}  )



Date html generated: 2020_05_20-AM-08_18_38
Last ObjectModification: 2020_01_24-PM-02_36_12

Theory : general


Home Index