Nuprl Lemma : fun-path-induction

[T:Type]
  ∀f:T ⟶ T
    ∀[R:T ⟶ T ⟶ (T List) ⟶ ℙ]
      ((∀x:T. R[x;x;[x]])
       (∀L:T List. ∀x,y,z:T.  (R[y;z;[y L]]  R[x;z;[x; [y L]]]) supposing ((¬(x y ∈ T)) and (x (f y) ∈ T)))
       {∀L:T List. ∀x,y:T.  R[x;y;L] supposing x=f*(y) via L})


Proof




Definitions occuring in Statement :  fun-path: y=f*(x) via L cons: [a b] nil: [] list: List uimplies: supposing a uall: [x:A]. B[x] prop: guard: {T} so_apply: x[s1;s2;s3] all: x:A. B[x] not: ¬A implies:  Q apply: a function: x:A ⟶ B[x] universe: Type equal: t ∈ T
Definitions unfolded in proof :  guard: {T} uall: [x:A]. B[x] all: x:A. B[x] implies:  Q member: t ∈ T so_lambda: λ2x.t[x] uimplies: supposing a prop: so_apply: x[s1;s2;s3] so_apply: x[s] fun-path: y=f*(x) via L and: P ∧ Q less_than: a < b squash: T less_than': less_than'(a;b) length: ||as|| list_ind: list_ind nil: [] it: false: False not: ¬A select: L[n] so_lambda: λ2y.t[x; y] top: Top so_apply: x[s1;s2] subtract: m int_seg: {i..j-} lelt: i ≤ j < k decidable: Dec(P) or: P ∨ Q satisfiable_int_formula: satisfiable_int_formula(fmla) exists: x:A. B[x] uiff: uiff(P;Q) subtype_rel: A ⊆B cons: [a b] ge: i ≥  le: A ≤ B
Lemmas referenced :  list_induction all_wf isect_wf fun-path_wf list_wf member-less_than length_of_nil_lemma stuck-spread base_wf nil_wf length_wf cons_wf equal_wf select_wf length_of_cons_lemma int_seg_properties subtract_wf decidable__le satisfiable-full-omega-tt intformand_wf intformnot_wf intformle_wf itermConstant_wf itermAdd_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_add_lemma int_term_value_var_lemma int_formula_prop_wf decidable__lt add-is-int-iff intformless_wf itermSubtract_wf int_formula_prop_less_lemma int_term_value_subtract_lemma false_wf int_seg_wf fun-path-cons less_than_wf not_wf list-cases product_subtype_list reduce_hd_cons_lemma non_neg_length and_wf
Rules used in proof :  sqequalSubstitution sqequalRule sqequalReflexivity sqequalTransitivity computationStep isect_memberFormation lambdaFormation cut thin introduction extract_by_obid sqequalHypSubstitution isectElimination hypothesisEquality lambdaEquality cumulativity functionExtensionality applyEquality hypothesis independent_functionElimination productElimination independent_pairEquality imageElimination voidElimination independent_isectElimination axiomEquality dependent_functionElimination rename baseClosed isect_memberEquality voidEquality because_Cache natural_numberEquality equalityTransitivity equalitySymmetry addEquality setElimination unionElimination dependent_pairFormation int_eqEquality intEquality independent_pairFormation computeAll pointwiseFunctionality promote_hyp baseApply closedConclusion hyp_replacement applyLambdaEquality productEquality functionEquality universeEquality hypothesis_subsumption dependent_set_memberEquality

Latex:
\mforall{}[T:Type]
    \mforall{}f:T  {}\mrightarrow{}  T
        \mforall{}[R:T  {}\mrightarrow{}  T  {}\mrightarrow{}  (T  List)  {}\mrightarrow{}  \mBbbP{}]
            ((\mforall{}x:T.  R[x;x;[x]])
            {}\mRightarrow{}  (\mforall{}L:T  List.  \mforall{}x,y,z:T.
                        (R[y;z;[y  /  L]]  {}\mRightarrow{}  R[x;z;[x;  [y  /  L]]])  supposing  ((\mneg{}(x  =  y))  and  (x  =  (f  y))))
            {}\mRightarrow{}  \{\mforall{}L:T  List.  \mforall{}x,y:T.    R[x;y;L]  supposing  x=f*(y)  via  L\})



Date html generated: 2018_05_21-PM-07_44_34
Last ObjectModification: 2017_07_26-PM-05_22_07

Theory : general


Home Index