Nuprl Lemma : W-type-induction

[A:Type]
  ((∀x,y:A.  Dec(x y ∈ A))
   (∀[B:A ⟶ Type]. ∀[P:W-type(A; a.B[a]) ⟶ ℙ].
        ((∀a:A. ∀f:B[a] ⟶ W-type(A; a.B[a]).  ((∀b:B[a]. P[f b])  P[W-sup(a;f)]))  (∀w:W-type(A; a.B[a]). P[w]))))


Proof




Definitions occuring in Statement :  W-sup: W-sup(a;f) W-type: W-type(A; a.B[a]) decidable: Dec(P) uall: [x:A]. B[x] prop: so_apply: x[s] all: x:A. B[x] implies:  Q apply: a function: x:A ⟶ B[x] universe: Type equal: t ∈ T
Definitions unfolded in proof :  uall: [x:A]. B[x] implies:  Q all: x:A. B[x] member: t ∈ T so_apply: x[s] so_lambda: λ2x.t[x] uimplies: supposing a prop: squash: T Wselect: Wselect(w;s) W-select: W-select(w;s) ifthenelse: if then else fi  null: null(as) nil: [] it: btrue: tt sq_stable: SqStable(P) isr: isr(x) assert: b bfalse: ff false: False true: True iff: ⇐⇒ Q and: P ∧ Q rev_implies:  Q not: ¬A append: as bs so_lambda: so_lambda(x,y,z.t[x; y; z]) top: Top so_apply: x[s1;s2;s3] subtype_rel: A ⊆B guard: {T} ext-eq: A ≡ B W-sup: W-sup(a;f) deq: EqDecider(T) exposed-bfalse: exposed-bfalse bool: 𝔹 unit: Unit uiff: uiff(P;Q) eqof: eqof(d) exists: x:A. B[x] or: P ∨ Q sq_type: SQType(T) bnot: ¬bb W-type: W-type(A; a.B[a]) W-bars: W-bars(w;p)
Lemmas referenced :  bool-bar-induction unit_wf2 Wselect_wf W-type_wf true_wf equal_wf list_wf isr_wf set_wf assert_wf all_wf append_wf cons_wf nil_wf not_wf nat_wf W-sup_wf decidable_wf sq_stable__assert false_wf deq-exists list_induction list_ind_nil_lemma W-type-ext subtype_rel_weakening list_ind_cons_lemma bool_wf eqtt_to_assert safe-assert-deq subtype_rel-equal and_wf eqff_to_assert bool_cases_sqequal subtype_base_sq bool_subtype_base assert-bnot it_wf null_cons_lemma reduce_hd_cons_lemma reduce_tl_cons_lemma bnot_wf eqof_wf member_wf bool_cases iff_transitivity iff_weakening_uiff assert_of_bnot
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation lambdaFormation cut introduction extract_by_obid sqequalHypSubstitution isectElimination thin functionEquality hypothesisEquality unionEquality applyEquality hypothesis sqequalRule lambdaEquality independent_isectElimination equalityTransitivity equalitySymmetry unionElimination dependent_functionElimination independent_functionElimination setElimination rename imageElimination imageMemberEquality baseClosed cumulativity universeEquality voidElimination natural_numberEquality productElimination promote_hyp isect_memberEquality voidEquality hypothesis_subsumption because_Cache productEquality equalityElimination inlEquality dependent_set_memberEquality independent_pairFormation applyLambdaEquality dependent_pairFormation instantiate inrEquality functionExtensionality impliesFunctionality

Latex:
\mforall{}[A:Type]
    ((\mforall{}x,y:A.    Dec(x  =  y))
    {}\mRightarrow{}  (\mforall{}[B:A  {}\mrightarrow{}  Type].  \mforall{}[P:W-type(A;  a.B[a])  {}\mrightarrow{}  \mBbbP{}].
                ((\mforall{}a:A.  \mforall{}f:B[a]  {}\mrightarrow{}  W-type(A;  a.B[a]).    ((\mforall{}b:B[a].  P[f  b])  {}\mRightarrow{}  P[W-sup(a;f)]))
                {}\mRightarrow{}  (\mforall{}w:W-type(A;  a.B[a]).  P[w]))))



Date html generated: 2019_10_16-AM-11_38_01
Last ObjectModification: 2018_08_21-PM-02_00_11

Theory : bar!induction


Home Index