Nuprl Lemma : non-null-list-tactic-test

T:Type. ∀L:T List. ∀x:T.
  (((((((((0 < ||L|| ∨ (1 ≤ ||L||)) ∨ null(L) ff) ∨ null(L) ff) ∨ (¬↑null(L))) ∨ (L [] ∈ (T List))))
    ∨ ([] L ∈ (T List))))
    ∨ null(L) tt))
  ∨ (∃x:T. (x ∈ L))
  ∨ (x ∈ L)
  ∨ (L [x L] ∈ (T List)))
   (((((((1 ≤ ||L||) ∧ null(L) ff) ∧ (null(L) ff)) ∧ (¬↑null(L))) ∧ (L [] ∈ (T List)))) ∧ (∃x:T. (x ∈ L)))
     ∧ (0 ≤ ||L||)))


Proof




Definitions occuring in Statement :  l_member: (x ∈ l) length: ||as|| null: null(as) cons: [a b] nil: [] list: List assert: b bfalse: ff btrue: tt bool: 𝔹 less_than: a < b le: A ≤ B all: x:A. B[x] exists: x:A. B[x] not: ¬A implies:  Q or: P ∨ Q and: P ∧ Q natural_number: $n universe: Type sqequal: t equal: t ∈ T
Definitions unfolded in proof :  all: x:A. B[x] implies:  Q or: P ∨ Q member: t ∈ T uall: [x:A]. B[x] prop: exists: x:A. B[x] and: P ∧ Q cand: c∧ B decidable: Dec(P) less_than: a < b squash: T uimplies: supposing a not: ¬A satisfiable_int_formula: satisfiable_int_formula(fmla) false: False top: Top le: A ≤ B less_than': less_than'(a;b) true: True assert: b ifthenelse: if then else fi  bfalse: ff ge: i ≥  sq_type: SQType(T) guard: {T} cons: [a b] nat: iff: ⇐⇒ Q rev_implies:  Q uiff: uiff(P;Q) sq_stable: SqStable(P) subtract: m subtype_rel: A ⊆B btrue: tt
Lemmas referenced :  less_than_wf length_wf le_wf bool_wf null_wf not_wf assert_wf equal-wf-T-base list_wf equal-wf-base-T l_member_wf cons_wf decidable__le full-omega-unsat intformand_wf intformnot_wf intformle_wf itermConstant_wf itermVar_wf intformless_wf istype-int int_formula_prop_and_lemma istype-void 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 list-cases2 length_of_nil_lemma null_cons_lemma bfalse_wf cons-not-nil hd_wf tl_wf nil_wf cons-has-member list-cases null_nil_lemma btrue_neq_bfalse subtype_base_sq bool_subtype_base product_subtype_list length_of_cons_lemma length_wf_nat 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 nat_properties itermAdd_wf int_term_value_add_lemma btrue_wf nil_member cons_neq_nil
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity Error :lambdaFormation_alt,  sqequalRule Error :unionIsType,  Error :universeIsType,  cut introduction extract_by_obid sqequalHypSubstitution isectElimination thin natural_numberEquality hypothesisEquality hypothesis Error :equalityIsType3,  baseClosed because_Cache Error :productIsType,  Error :inhabitedIsType,  Error :equalityIsType1,  universeEquality dependent_functionElimination unionElimination imageElimination productElimination independent_isectElimination approximateComputation independent_functionElimination Error :dependent_pairFormation_alt,  Error :lambdaEquality_alt,  int_eqEquality Error :isect_memberEquality_alt,  voidElimination independent_pairFormation cumulativity instantiate equalityTransitivity equalitySymmetry promote_hyp hypothesis_subsumption setElimination rename addEquality imageMemberEquality applyEquality minusEquality sqequalIntensionalEquality

Latex:
\mforall{}T:Type.  \mforall{}L:T  List.  \mforall{}x:T.
    (((((((((0  <  ||L||  \mvee{}  (1  \mleq{}  ||L||))  \mvee{}  null(L)  =  ff)  \mvee{}  null(L)  =  ff)  \mvee{}  (\mneg{}\muparrow{}null(L)))  \mvee{}  (\mneg{}(L  =  [])))
        \mvee{}  (\mneg{}([]  =  L)))
        \mvee{}  (\mneg{}null(L)  =  tt))
    \mvee{}  (\mexists{}x:T.  (x  \mmember{}  L))
    \mvee{}  (x  \mmember{}  L)
    \mvee{}  (L  =  [x  /  L]))
    {}\mRightarrow{}  (((((((1  \mleq{}  ||L||)  \mwedge{}  null(L)  =  ff)  \mwedge{}  (null(L)  \msim{}  ff))  \mwedge{}  (\mneg{}\muparrow{}null(L)))  \mwedge{}  (\mneg{}(L  =  [])))
          \mwedge{}  (\mexists{}x:T.  (x  \mmember{}  L)))
          \mwedge{}  (0  \mleq{}  ||L||)))



Date html generated: 2019_06_20-PM-01_19_48
Last ObjectModification: 2018_10_01-AM-00_00_54

Theory : list_1


Home Index