Nuprl Lemma : accum_induction

[T:Type]. ∀[Q:(T List) ⟶ ℙ].  ((∀[ys:T List]. (Q[ys]  (∀y:T. Q[ys [y]])))  Q[[]]  {∀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 :  member: t ∈ T uall: [x:A]. B[x] implies:  Q guard: {T} all: x:A. B[x] so_apply: x[s] subtype_rel: A ⊆B prop: nat: false: False ge: i ≥  uimplies: supposing a not: ¬A satisfiable_int_formula: satisfiable_int_formula(fmla) exists: x:A. B[x] top: Top and: P ∧ Q int_seg: {i..j-} lelt: i ≤ j < k decidable: Dec(P) or: P ∨ Q so_lambda: λ2x.t[x] sq_type: SQType(T) le: A ≤ B less_than: a < b squash: T assert: b ifthenelse: if then else fi  btrue: tt so_lambda: λ2y.t[x; y] so_apply: x[s1;s2] cons: [a b] bfalse: ff int_iseg: {i...j} cand: c∧ B true: True iff: ⇐⇒ Q rev_implies:  Q uiff: uiff(P;Q) sq_stable: SqStable(P) subtract: m less_than': less_than'(a;b)
Lemmas referenced :  nil_wf subtype_rel_self istype-universe append_wf cons_wf list_wf nat_properties full-omega-unsat intformand_wf intformle_wf itermConstant_wf itermVar_wf intformless_wf istype-int int_formula_prop_and_lemma istype-void int_formula_prop_le_lemma int_term_value_constant_lemma int_term_value_var_lemma int_formula_prop_less_lemma int_formula_prop_wf ge_wf less_than_wf int_seg_properties int_seg_wf subtract-1-ge-0 decidable__equal_int subtract_wf subtype_base_sq set_subtype_base int_subtype_base intformnot_wf intformeq_wf itermSubtract_wf int_formula_prop_not_lemma int_formula_prop_eq_lemma int_term_value_subtract_lemma decidable__le decidable__lt le_wf length_wf non_neg_length decidable__assert null_wf itermAdd_wf int_term_value_add_lemma nat_wf length_wf_nat list-cases null_nil_lemma length_of_nil_lemma list_accum_nil_lemma product_subtype_list null_cons_lemma length_of_cons_lemma list_accum_cons_lemma last-lemma-sq list_accum_append firstn_wf subtype_rel_list top_wf squash_wf true_wf length_firstn_eq subtract_nat_wf istype-false not-le-2 sq_stable__le condition-implies-le minus-add minus-one-mul add-swap minus-one-mul-top add-associates add-commutes add_functionality_wrt_le add-zero le-add-cancel2 subtract-is-int-iff false_wf iff_weakening_equal last_wf
Rules used in proof :  introduction sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity sqequalRule Error :isect_memberEquality_alt,  Error :lambdaEquality_alt,  Error :universeIsType,  because_Cache cut applyEquality hypothesisEquality extract_by_obid sqequalHypSubstitution isectElimination thin hypothesis Error :isectIsType,  Error :functionIsType,  instantiate universeEquality Error :lambdaFormation_alt,  setElimination rename intWeakElimination natural_numberEquality independent_isectElimination approximateComputation independent_functionElimination Error :dependent_pairFormation_alt,  int_eqEquality dependent_functionElimination voidElimination independent_pairFormation axiomEquality equalityTransitivity equalitySymmetry productElimination unionElimination applyLambdaEquality Error :dependent_set_memberEquality_alt,  Error :productIsType,  hypothesis_subsumption imageElimination Error :inhabitedIsType,  addEquality promote_hyp imageMemberEquality baseClosed minusEquality Error :equalityIsType1,  pointwiseFunctionality baseApply closedConclusion functionEquality

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



Date html generated: 2019_06_20-PM-01_30_16
Last ObjectModification: 2018_10_05-PM-04_46_57

Theory : list_1


Home Index