Nuprl Lemma : PZF-induction

C:Type
  ∀[F:PZF-Formula(C) ⟶ ℙ]. ∀[T:PZF-Term(C) ⟶ ℙ].
    ((∀name:Atom. T[Vname])
     (∀value:C. T[Const(value)])
     (∀x:Atom. ∀phi:PZF-Formula(C).  (F[phi]  PZF-safe(phi;[x])  T[{x phi}]))
     (∀a,b:PZF-Term(C).  (T[a]  T[b]  F[a b]))
     (∀a,b:PZF-Term(C).  (T[a]  T[b]  F[a ∈ b]))
     (∀a,b:PZF-Formula(C).  (F[a]  F[b]  F[a ∧ b)]))
     (∀a,b:PZF-Formula(C).  (F[a]  F[b]  F[a ∨ b]))
     (∀a:PZF-Formula(C). (F[a]  F[¬(a)]))
     (∀a:PZF-Formula(C). ∀x:Atom.  (F[a]  F[∀x. a]))
     (∀a:PZF-Formula(C). ∀x:Atom.  (F[a]  F[∃x. a]))
     ((∀phi:PZF-Formula(C). F[phi]) ∧ (∀t:PZF-Term(C). T[t])))


Proof




Definitions occuring in Statement :  PZF-Formula: PZF-Formula(C) PZF-Term: PZF-Term(C) PZF-safe: PZF-safe(phi;vs) FormExists: var. body FormAll: var. body FormNot: ¬(body) FormOr: left ∨ right FormAnd: left ∧ right) FormMember: element ∈ set FormEqual: left right FormSet: {var phi} FormConst: Const(value) FormVar: Vname cons: [a b] nil: [] uall: [x:A]. B[x] prop: so_apply: x[s] all: x:A. B[x] implies:  Q and: P ∧ Q function: x:A ⟶ B[x] atom: Atom universe: Type
Definitions unfolded in proof :  true: True FormExists: var. body FormAll: var. body FormNot: ¬(body) FormOr: left ∨ right FormAnd: left ∧ right) FormMember: element ∈ set FormEqual: left right band: p ∧b q FormSet: {var phi} FormConst: Const(value) wfFormAux: wfFormAux(f) Form_ind: Form_ind FormVar: Vname wfForm: wfForm(f) SafeForm: SafeForm(f) termForm: termForm(f) not: ¬A PZF-Formula: PZF-Formula(C) false: False assert: b bnot: ¬bb guard: {T} sq_type: SQType(T) or: P ∨ Q exists: x:A. B[x] bfalse: ff subtype_rel: A ⊆B PZF-Form: PZF-Form(C) cand: c∧ B PZF-Term: PZF-Term(C) so_apply: x[s] prop: ifthenelse: if then else fi  uimplies: supposing a and: P ∧ Q uiff: uiff(P;Q) btrue: tt it: unit: Unit bool: 𝔹 so_lambda: λ2x.t[x] member: t ∈ T implies:  Q uall: [x:A]. B[x] all: x:A. B[x] rev_uimplies: rev_uimplies(P;Q) iff: ⇐⇒ Q rev_implies:  Q
Lemmas referenced :  istype-universe PZF-Formula_wf PZF-Term_wf FormVar_wf istype-atom FormConst_wf FormSet_wf2 PZF-safe_wf FormEqual_wf2 FormMember_wf2 FormAnd_wf2 FormOr_wf2 FormNot_wf2 FormAll_wf2 FormExists_wf2 wfFormAux_wf bfalse_wf nil_wf cons_wf PZF_safe_wf btrue_wf band_wf bool_cases istype-true Form_wf istype-void assert-bnot bool_subtype_base bool_wf subtype_base_sq bool_cases_sqequal eqff_to_assert istype-assert SafeForm_wf wfForm_wf assert_wf eqtt_to_assert termForm_wf Form-induction assert_of_band wfFormAux-unique assert_elim btrue_neq_bfalse assert_functionality_wrt_uiff assert-PZF_safe bool_sim_true iff_imp_equal_bool assert_of_ff
Rules used in proof :  universeEquality natural_numberEquality atomEquality universeIsType functionIsType voidElimination independent_functionElimination cumulativity instantiate dependent_functionElimination promote_hyp equalityIstype dependent_pairFormation_alt equalitySymmetry equalityTransitivity rename setElimination productIsType independent_pairFormation dependent_set_memberEquality_alt applyEquality because_Cache functionEquality independent_isectElimination productElimination equalityElimination unionElimination inhabitedIsType hypothesis lambdaEquality_alt sqequalRule hypothesisEquality thin isectElimination sqequalHypSubstitution extract_by_obid introduction cut isect_memberFormation_alt lambdaFormation_alt sqequalReflexivity computationStep sqequalTransitivity sqequalSubstitution isect_memberEquality_alt

Latex:
\mforall{}C:Type
    \mforall{}[F:PZF-Formula(C)  {}\mrightarrow{}  \mBbbP{}].  \mforall{}[T:PZF-Term(C)  {}\mrightarrow{}  \mBbbP{}].
        ((\mforall{}name:Atom.  T[Vname])
        {}\mRightarrow{}  (\mforall{}value:C.  T[Const(value)])
        {}\mRightarrow{}  (\mforall{}x:Atom.  \mforall{}phi:PZF-Formula(C).    (F[phi]  {}\mRightarrow{}  PZF-safe(phi;[x])  {}\mRightarrow{}  T[\{x  |  phi\}]))
        {}\mRightarrow{}  (\mforall{}a,b:PZF-Term(C).    (T[a]  {}\mRightarrow{}  T[b]  {}\mRightarrow{}  F[a  =  b]))
        {}\mRightarrow{}  (\mforall{}a,b:PZF-Term(C).    (T[a]  {}\mRightarrow{}  T[b]  {}\mRightarrow{}  F[a  \mmember{}  b]))
        {}\mRightarrow{}  (\mforall{}a,b:PZF-Formula(C).    (F[a]  {}\mRightarrow{}  F[b]  {}\mRightarrow{}  F[a  \mwedge{}  b)]))
        {}\mRightarrow{}  (\mforall{}a,b:PZF-Formula(C).    (F[a]  {}\mRightarrow{}  F[b]  {}\mRightarrow{}  F[a  \mvee{}  b]))
        {}\mRightarrow{}  (\mforall{}a:PZF-Formula(C).  (F[a]  {}\mRightarrow{}  F[\mneg{}(a)]))
        {}\mRightarrow{}  (\mforall{}a:PZF-Formula(C).  \mforall{}x:Atom.    (F[a]  {}\mRightarrow{}  F[\mforall{}x.  a]))
        {}\mRightarrow{}  (\mforall{}a:PZF-Formula(C).  \mforall{}x:Atom.    (F[a]  {}\mRightarrow{}  F[\mexists{}x.  a]))
        {}\mRightarrow{}  ((\mforall{}phi:PZF-Formula(C).  F[phi])  \mwedge{}  (\mforall{}t:PZF-Term(C).  T[t])))



Date html generated: 2020_05_20-AM-09_12_40
Last ObjectModification: 2020_01_28-PM-05_25_34

Theory : PZF


Home Index