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: P ⇒ 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 ⊆r B, 
PZF-Form: PZF-Form(C), 
cand: A c∧ B, 
PZF-Term: PZF-Term(C), 
so_apply: x[s], 
prop: ℙ, 
ifthenelse: if b then t else f fi , 
uimplies: b supposing a, 
and: P ∧ Q, 
uiff: uiff(P;Q), 
btrue: tt, 
it: ⋅, 
unit: Unit, 
bool: 𝔹, 
so_lambda: λ2x.t[x], 
member: t ∈ T, 
implies: P ⇒ Q, 
uall: ∀[x:A]. B[x], 
all: ∀x:A. B[x], 
rev_uimplies: rev_uimplies(P;Q), 
iff: P ⇐⇒ Q, 
rev_implies: P ⇐ 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