Nuprl Lemma : last_induction

[T:Type]. ∀[Q:(T List) ⟶ ℙ].  (Q[[]]  (∀ys:T List. ∀y:T.  (Q[ys]  Q[ys [y]]))  {∀zs:T List. Q[zs]})


Proof




Definitions occuring in Statement :  append: as bs cons: [a b] nil: [] list: List uall: [x:A]. B[x] prop: guard: {T} so_apply: x[s] all: x:A. B[x] implies:  Q function: x:A ⟶ B[x] universe: Type
Definitions unfolded in proof :  uall: [x:A]. B[x] implies:  Q guard: {T} all: x:A. B[x] member: t ∈ T int_seg: {i..j-} lelt: i ≤ j < k and: P ∧ Q uimplies: supposing a satisfiable_int_formula: satisfiable_int_formula(fmla) exists: x:A. B[x] false: False not: ¬A top: Top prop: decidable: Dec(P) or: P ∨ Q subtype_rel: A ⊆B le: A ≤ B less_than': less_than'(a;b) so_lambda: λ2x.t[x] so_apply: x[s] nat: ge: i ≥  less_than: a < b squash: T assert: b ifthenelse: if then else fi  btrue: tt cons: [a b] bfalse: ff true: True iff: ⇐⇒ Q rev_implies:  Q
Lemmas referenced :  int_seg_properties satisfiable-full-omega-tt intformand_wf intformless_wf itermVar_wf itermConstant_wf intformle_wf int_formula_prop_and_lemma int_formula_prop_less_lemma int_term_value_var_lemma int_term_value_constant_lemma int_formula_prop_le_lemma int_formula_prop_wf int_seg_wf decidable__equal_int subtract_wf int_seg_subtype false_wf set_wf lelt_wf decidable__le intformnot_wf itermSubtract_wf intformeq_wf int_formula_prop_not_lemma int_term_value_subtract_lemma int_formula_prop_eq_lemma le_wf length_wf non_neg_length nat_properties decidable__lt less_than_wf decidable__assert null_wf all_wf list_wf primrec-wf2 nat_wf itermAdd_wf int_term_value_add_lemma length_wf_nat append_wf cons_wf nil_wf list-cases null_nil_lemma length_of_nil_lemma product_subtype_list null_cons_lemma length_of_cons_lemma last_lemma last_wf squash_wf true_wf length_append subtype_rel_list top_wf iff_weakening_equal length-singleton
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation lambdaFormation cut thin introduction extract_by_obid sqequalHypSubstitution isectElimination natural_numberEquality because_Cache hypothesisEquality hypothesis setElimination rename productElimination independent_isectElimination dependent_pairFormation lambdaEquality int_eqEquality intEquality dependent_functionElimination isect_memberEquality voidElimination voidEquality sqequalRule independent_pairFormation computeAll unionElimination addLevel applyEquality equalityTransitivity equalitySymmetry levelHypothesis hypothesis_subsumption dependent_set_memberEquality cumulativity imageElimination independent_functionElimination functionEquality functionExtensionality addEquality universeEquality promote_hyp imageMemberEquality baseClosed hyp_replacement Error :applyLambdaEquality

Latex:
\mforall{}[T:Type].  \mforall{}[Q:(T  List)  {}\mrightarrow{}  \mBbbP{}].
    (Q[[]]  {}\mRightarrow{}  (\mforall{}ys:T  List.  \mforall{}y:T.    (Q[ys]  {}\mRightarrow{}  Q[ys  @  [y]]))  {}\mRightarrow{}  \{\mforall{}zs:T  List.  Q[zs]\})



Date html generated: 2016_10_21-AM-10_08_40
Last ObjectModification: 2016_07_12-AM-05_28_17

Theory : list_1


Home Index