Nuprl Lemma : W-type-ext

[A:Type]. ∀[B:A ⟶ Type]. W-type(A; a.B[a]) ≡ a:A × (B[a] ⟶ W-type(A; a.B[a])) supposing ∀x,y:A.  Dec(x y ∈ A)


Proof




Definitions occuring in Statement :  W-type: W-type(A; a.B[a]) ext-eq: A ≡ B decidable: Dec(P) uimplies: supposing a uall: [x:A]. B[x] so_apply: x[s] all: x:A. B[x] function: x:A ⟶ B[x] product: x:A × B[x] universe: Type equal: t ∈ T
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T uimplies: supposing a ext-eq: A ≡ B and: P ∧ Q subtype_rel: A ⊆B W-type: W-type(A; a.B[a]) so_lambda: λ2x.t[x] so_apply: x[s] guard: {T} all: x:A. B[x] iff: ⇐⇒ Q rev_implies:  Q implies:  Q prop: W-sup: W-sup(a;f) nat: exposed-bfalse: exposed-bfalse bool: 𝔹 unit: Unit it: btrue: tt ifthenelse: if then else fi  uiff: uiff(P;Q) deq: EqDecider(T) eqof: eqof(d) bfalse: ff exists: x:A. B[x] or: P ∨ Q sq_type: SQType(T) bnot: ¬bb assert: b false: False not: ¬A le: A ≤ B less_than': less_than'(a;b) ge: i ≥  int_upper: {i...} decidable: Dec(P) satisfiable_int_formula: satisfiable_int_formula(fmla) top: Top W-bars: W-bars(w;p) squash: T upto: upto(n) from-upto: [n, m) lt_int: i <j isr: isr(x) nat_plus: + true: True subtract: m eq_int: (i =z j) W-select: W-select(w;s) compose: g cons: [a b] colength: colength(L) so_lambda: λ2y.t[x; y] so_apply: x[s1;s2] nil: [] less_than: a < b
Lemmas referenced :  co-W-ext subtype_rel_weakening co-W_wf deq-exists nat_wf unit_wf2 all_wf W-bars_wf W-type_wf W-sup_wf decidable_wf equal_wf eq_int_wf bool_wf eqtt_to_assert assert_of_eq_int safe-assert-deq subtype_rel-equal and_wf eqff_to_assert bool_cases_sqequal subtype_base_sq bool_subtype_base assert-bnot it_wf neg_assert_of_eq_int upper_subtype_nat false_wf nat_properties nequal-le-implies zero-add le_wf subtract_wf int_upper_properties decidable__le full-omega-unsat intformand_wf intformnot_wf intformle_wf itermConstant_wf itermSubtract_wf itermVar_wf int_formula_prop_and_lemma int_formula_prop_not_lemma int_formula_prop_le_lemma int_term_value_constant_lemma int_term_value_subtract_lemma int_term_value_var_lemma int_formula_prop_wf decidable__equal_int int_subtype_base map_nil_lemma W_select_nil_lemma intformeq_wf int_formula_prop_eq_lemma assert_wf isr_wf W-select_wf map_wf int_seg_wf subtype_rel_function int_seg_subtype_nat subtype_rel_self upto_wf upto_decomp2 decidable__lt not-lt-2 not-equal-2 add_functionality_wrt_le add-associates add-zero le-add-cancel condition-implies-le add-commutes minus-add minus-zero less_than_wf map_cons_lemma null_cons_lemma reduce_hd_cons_lemma reduce_tl_cons_lemma map-map bnot_wf eqof_wf not_wf member_wf bool_cases iff_transitivity iff_weakening_uiff assert_of_bnot subtype_rel_list list_wf intformless_wf int_formula_prop_less_lemma ge_wf equal-wf-T-base colength_wf_list list-cases product_subtype_list spread_cons_lemma itermAdd_wf int_term_value_add_lemma set_subtype_base add-subtract-cancel
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation introduction cut independent_pairFormation lambdaEquality sqequalHypSubstitution setElimination thin rename hypothesis_subsumption extract_by_obid isectElimination hypothesisEquality sqequalRule applyEquality because_Cache hypothesis productEquality functionEquality independent_isectElimination productElimination dependent_pairEquality functionExtensionality dependent_set_memberEquality lambdaFormation independent_functionElimination unionEquality dependent_functionElimination cumulativity independent_pairEquality axiomEquality universeEquality isect_memberEquality equalityTransitivity equalitySymmetry natural_numberEquality unionElimination equalityElimination inlEquality applyLambdaEquality dependent_pairFormation promote_hyp instantiate voidElimination inrEquality approximateComputation int_eqEquality intEquality voidEquality imageElimination imageMemberEquality baseClosed addEquality minusEquality impliesFunctionality intWeakElimination axiomSqEquality

Latex:
\mforall{}[A:Type]
    \mforall{}[B:A  {}\mrightarrow{}  Type].  W-type(A;  a.B[a])  \mequiv{}  a:A  \mtimes{}  (B[a]  {}\mrightarrow{}  W-type(A;  a.B[a])) 
    supposing  \mforall{}x,y:A.    Dec(x  =  y)



Date html generated: 2019_10_16-AM-11_37_56
Last ObjectModification: 2018_08_22-AM-10_05_28

Theory : bar!induction


Home Index