Nuprl Lemma : longest-prefix_property2

[T:Type]
  ∀L:T List. ∀P:(T List) ⟶ 𝔹. ∀L2:T List.
    0 < ||L2|| supposing 0 < ||L||
    ∧ (∀L':T List. ([] < L'  L' < L2  (¬↑(P (longest-prefix(P;L) L')))))
    ∧ ((↑(P longest-prefix(P;L))) ∨ (↑null(longest-prefix(P;L)))) 
    supposing (longest-prefix(P;L) L2) ∈ (T List)


Proof




Definitions occuring in Statement :  longest-prefix: longest-prefix(P;L) proper-iseg: L1 < L2 length: ||as|| null: null(as) append: as bs nil: [] list: List assert: b bool: 𝔹 less_than: a < b uimplies: supposing a uall: [x:A]. B[x] all: x:A. B[x] not: ¬A implies:  Q or: P ∨ Q and: P ∧ Q apply: a function: x:A ⟶ B[x] natural_number: $n universe: Type equal: t ∈ T
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T all: x:A. B[x] uimplies: supposing a and: P ∧ Q prop: subtype_rel: A ⊆B so_lambda: λ2x.t[x] so_apply: x[s] listp: List+ iff: ⇐⇒ Q implies:  Q top: Top decidable: Dec(P) or: P ∨ Q less_than: a < b squash: T false: False uiff: uiff(P;Q) satisfiable_int_formula: satisfiable_int_formula(fmla) exists: x:A. B[x] not: ¬A cand: c∧ B sq_type: SQType(T) guard: {T} assert: b ifthenelse: if then else fi  btrue: tt true: True append: as bs so_lambda: so_lambda(x,y,z.t[x; y; z]) so_apply: x[s1;s2;s3] rev_implies:  Q
Lemmas referenced :  longest-prefix_property equal_wf list_wf append_wf longest-prefix_wf subtype_rel_dep_function bool_wf listp_wf subtype_rel_self less_than_wf length_wf proper-iseg-length length_wf_nat nat_wf length-append decidable__lt add-is-int-iff satisfiable-full-omega-tt intformand_wf intformnot_wf intformless_wf itermConstant_wf itermVar_wf itermAdd_wf int_formula_prop_and_lemma int_formula_prop_not_lemma int_formula_prop_less_lemma int_term_value_constant_lemma int_term_value_var_lemma int_term_value_add_lemma int_formula_prop_wf false_wf assert_wf proper-iseg_wf nil_wf and_wf null_wf3 subtype_rel_list top_wf null_nil_lemma btrue_wf subtype_base_sq bool_subtype_base list_ind_nil_lemma squash_wf true_wf proper-iseg-append append-nil iff_weakening_equal
Rules used in proof :  cut introduction extract_by_obid sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation hypothesis sqequalHypSubstitution isectElimination thin hypothesisEquality lambdaFormation dependent_functionElimination axiomEquality rename productElimination independent_pairFormation cumulativity because_Cache applyEquality sqequalRule lambdaEquality independent_isectElimination setElimination functionEquality universeEquality natural_numberEquality independent_functionElimination dependent_set_memberEquality equalitySymmetry hyp_replacement Error :applyLambdaEquality,  isect_memberEquality voidElimination voidEquality addEquality unionElimination imageElimination pointwiseFunctionality equalityTransitivity promote_hyp baseApply closedConclusion baseClosed dependent_pairFormation int_eqEquality intEquality computeAll functionExtensionality setEquality instantiate inrFormation inlFormation imageMemberEquality

Latex:
\mforall{}[T:Type]
    \mforall{}L:T  List.  \mforall{}P:(T  List)  {}\mrightarrow{}  \mBbbB{}.  \mforall{}L2:T  List.
        0  <  ||L2||  supposing  0  <  ||L||
        \mwedge{}  (\mforall{}L':T  List.  ([]  <  L'  {}\mRightarrow{}  L'  <  L2  {}\mRightarrow{}  (\mneg{}\muparrow{}(P  (longest-prefix(P;L)  @  L')))))
        \mwedge{}  ((\muparrow{}(P  longest-prefix(P;L)))  \mvee{}  (\muparrow{}null(longest-prefix(P;L)))) 
        supposing  L  =  (longest-prefix(P;L)  @  L2)



Date html generated: 2016_10_25-AM-10_47_17
Last ObjectModification: 2016_07_12-AM-06_56_06

Theory : general


Home Index