Nuprl Lemma : fun-path-cons

[T:Type]. ∀[f:T ⟶ T]. ∀[L:T List]. ∀[x,y,z:T].
  uiff(z=f*(x) via [y L];{(z y ∈ T)
  ∧ ((y (f hd(L)) ∈ T) ∧ (y hd(L) ∈ T))) ∧ hd(L)=f*(x) via supposing 0 < ||L||
  ∧ y ∈ supposing ¬0 < ||L||})


Proof




Definitions occuring in Statement :  fun-path: y=f*(x) via L hd: hd(l) length: ||as|| cons: [a b] list: List less_than: a < b uiff: uiff(P;Q) uimplies: supposing a uall: [x:A]. B[x] guard: {T} not: ¬A and: P ∧ Q apply: a function: x:A ⟶ B[x] natural_number: $n universe: Type equal: t ∈ T
Definitions unfolded in proof :  member: t ∈ T uall: [x:A]. B[x] all: x:A. B[x] or: P ∨ Q cons: [a b] uimplies: supposing a ge: i ≥  decidable: Dec(P) less_than: a < b squash: T and: P ∧ Q satisfiable_int_formula: satisfiable_int_formula(fmla) exists: x:A. B[x] false: False implies:  Q not: ¬A top: Top prop: int_seg: {i..j-} guard: {T} lelt: i ≤ j < k uiff: uiff(P;Q) fun-path: y=f*(x) via L select: L[n] nil: [] it: so_lambda: λ2y.t[x; y] so_apply: x[s1;s2] subtract: m last: last(L) less_than': less_than'(a;b) so_lambda: λ2x.t[x] so_apply: x[s] true: True le: A ≤ B nat: nat_plus: + cand: c∧ B subtype_rel: A ⊆B iff: ⇐⇒ Q sq_type: SQType(T) rev_implies:  Q
Lemmas referenced :  list-cases product_subtype_list equal_wf hd_wf decidable__le length_wf satisfiable-full-omega-tt intformand_wf intformnot_wf intformle_wf itermConstant_wf itermVar_wf intformless_wf int_formula_prop_and_lemma int_formula_prop_not_lemma int_formula_prop_le_lemma int_term_value_constant_lemma int_term_value_var_lemma int_formula_prop_less_lemma int_formula_prop_wf select_wf int_seg_properties subtract_wf itermAdd_wf int_term_value_add_lemma decidable__lt itermSubtract_wf int_term_value_subtract_lemma int_seg_wf less_than_wf not_wf fun-path_wf cons_wf length_of_cons_lemma add-is-int-iff false_wf list_wf member-less_than length_of_nil_lemma reduce_hd_cons_lemma stuck-spread base_wf all_wf nil_wf equal-wf-T-base equal-wf-base equal-wf-base-T lelt_wf select-cons-tl add-subtract-cancel non_neg_length select-cons-hd add_nat_plus le_wf nat_plus_wf nat_plus_properties intformeq_wf int_formula_prop_eq_lemma length_wf_nat member_wf add-member-int_seg2 le_weakening2 add-associates add-swap add-commutes zero-add squash_wf and_wf true_wf select_cons_tl iff_weakening_equal subtract-is-int-iff decidable__equal_int subtype_base_sq int_subtype_base general_arith_equation1
Rules used in proof :  cut sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity hypothesisEquality introduction extract_by_obid sqequalHypSubstitution isectElimination thin hypothesis dependent_functionElimination unionElimination promote_hyp hypothesis_subsumption productElimination sqequalRule cumulativity because_Cache independent_isectElimination natural_numberEquality imageElimination dependent_pairFormation lambdaEquality int_eqEquality intEquality isect_memberEquality voidElimination voidEquality independent_pairFormation computeAll equalityTransitivity equalitySymmetry addEquality setElimination rename functionExtensionality applyEquality pointwiseFunctionality baseApply closedConclusion baseClosed productEquality isectEquality functionEquality universeEquality isect_memberFormation independent_pairEquality axiomEquality lambdaFormation independent_functionElimination imageMemberEquality minusEquality dependent_set_memberEquality applyLambdaEquality instantiate

Latex:
\mforall{}[T:Type].  \mforall{}[f:T  {}\mrightarrow{}  T].  \mforall{}[L:T  List].  \mforall{}[x,y,z:T].
    uiff(z=f*(x)  via  [y  /  L];\{(z  =  y)
    \mwedge{}  ((y  =  (f  hd(L)))  \mwedge{}  (\mneg{}(y  =  hd(L))))  \mwedge{}  hd(L)=f*(x)  via  L  supposing  0  <  ||L||
    \mwedge{}  x  =  y  supposing  \mneg{}0  <  ||L||\})



Date html generated: 2018_05_21-PM-07_43_14
Last ObjectModification: 2017_07_26-PM-05_21_12

Theory : general


Home Index