Nuprl Lemma : llex-append1

[A:Type]. ∀[<:A ⟶ A ⟶ ℙ].
  ∀L1,L2:A List. ∀a:A.
    ((L1 llex(A;a,b.<[a;b]) (L2 [a]))
     ((L1 llex(A;a,b.<[a;b]) L2) ∨ (∃L3:A List. ((L1 (L2 L3) ∈ (A List)) ∧ <[hd(L3);a] supposing 0 < ||L3||))))


Proof




Definitions occuring in Statement :  llex: llex(A;a,b.<[a; b]) length: ||as|| append: as bs hd: hd(l) cons: [a b] nil: [] list: List less_than: a < b uimplies: supposing a uall: [x:A]. B[x] prop: infix_ap: y so_apply: x[s1;s2] all: x:A. B[x] exists: x:A. B[x] implies:  Q or: P ∨ Q and: P ∧ Q function: x:A ⟶ B[x] natural_number: $n universe: Type equal: t ∈ T
Definitions unfolded in proof :  uall: [x:A]. B[x] all: x:A. B[x] implies:  Q llex: llex(A;a,b.<[a; b]) infix_ap: y or: P ∨ Q member: t ∈ T so_lambda: λ2y.t[x; y] so_apply: x[s1;s2] subtype_rel: A ⊆B prop: decidable: Dec(P) and: P ∧ Q exists: x:A. B[x] uimplies: supposing a less_than: a < b squash: T not: ¬A satisfiable_int_formula: satisfiable_int_formula(fmla) false: False cand: c∧ B int_seg: {i..j-} lelt: i ≤ j < k le: A ≤ B true: True guard: {T} iff: ⇐⇒ Q rev_implies:  Q nat: ge: i ≥  top: Top less_than': less_than'(a;b) sq_type: SQType(T) iseg: l1 ≤ l2 cons: [a b] select: L[n] subtract: m so_apply: x[s] so_lambda: λ2x.t[x]
Lemmas referenced :  llex_wf append_wf cons_wf nil_wf subtype_rel_self list_wf istype-universe decidable__lt length_wf length-append istype-less_than length_of_cons_lemma length_of_nil_lemma full-omega-unsat intformand_wf intformless_wf itermConstant_wf itermVar_wf intformeq_wf itermAdd_wf istype-int int_formula_prop_and_lemma int_formula_prop_less_lemma int_term_value_constant_lemma int_term_value_var_lemma int_formula_prop_eq_lemma int_term_value_add_lemma int_formula_prop_wf equal_wf select_wf int_seg_properties decidable__le intformnot_wf intformle_wf int_formula_prop_not_lemma int_formula_prop_le_lemma iff_weakening_equal select_append_front istype-le int_seg_wf istype-nat nat_properties infix_ap_wf istype-void hd_wf member-less_than top_wf subtype_rel_list append-nil true_wf squash_wf decidable__equal_int length_append length_cons non_neg_length length_nil list_extensionality int_subtype_base subtype_base_sq iseg_select select_append_back int_term_value_subtract_lemma itermSubtract_wf less_than_wf trivial-equal select0 zero-mul add-mul-special minus-one-mul le_wf set_subtype_base length_wf_nat
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation_alt lambdaFormation_alt sqequalHypSubstitution sqequalRule unionElimination thin universeIsType cut applyEquality introduction extract_by_obid isectElimination hypothesisEquality lambdaEquality_alt inhabitedIsType hypothesis instantiate universeEquality functionIsType because_Cache dependent_functionElimination inlFormation_alt productElimination productIsType equalityIstype applyLambdaEquality Error :memTop,  isectIsType natural_numberEquality imageElimination equalityTransitivity equalitySymmetry independent_isectElimination approximateComputation independent_functionElimination dependent_pairFormation_alt int_eqEquality independent_pairFormation voidElimination setElimination rename imageMemberEquality baseClosed dependent_set_memberEquality_alt cumulativity isect_memberEquality_alt equalityIsType1 inrFormation_alt voidEquality intEquality promote_hyp addEquality hyp_replacement closedConclusion baseApply equalityIsType4

Latex:
\mforall{}[A:Type].  \mforall{}[<:A  {}\mrightarrow{}  A  {}\mrightarrow{}  \mBbbP{}].
    \mforall{}L1,L2:A  List.  \mforall{}a:A.
        ((L1  llex(A;a,b.<[a;b])  (L2  @  [a]))
        {}\mRightarrow{}  ((L1  llex(A;a,b.<[a;b])  L2)
              \mvee{}  (\mexists{}L3:A  List.  ((L1  =  (L2  @  L3))  \mwedge{}  <[hd(L3);a]  supposing  0  <  ||L3||))))



Date html generated: 2020_05_20-AM-08_07_51
Last ObjectModification: 2019_12_26-PM-04_06_53

Theory : general


Home Index