Nuprl Lemma : cpsquicksort-quicksort

[T:Type]
  ∀[A:Type]. ∀[cmp:comparison(T)].  ∀L:T List. ∀[k:(T List) ⟶ A]. (cpsquicksort(cmp;L;k) quicksort(cmp;L)) 
  supposing valueall-type(T)


Proof




Definitions occuring in Statement :  cpsquicksort: cpsquicksort(cmp;L;k) quicksort: quicksort(cmp;L) comparison: comparison(T) list: List valueall-type: valueall-type(T) uimplies: supposing a uall: [x:A]. B[x] all: x:A. B[x] apply: a function: x:A ⟶ B[x] universe: Type sqequal: t
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T uimplies: supposing a all: x:A. B[x] nat: implies:  Q false: False ge: i ≥  satisfiable_int_formula: satisfiable_int_formula(fmla) exists: x:A. B[x] not: ¬A top: Top and: P ∧ Q prop: guard: {T} int_seg: {i..j-} lelt: i ≤ j < k decidable: Dec(P) or: P ∨ Q subtype_rel: A ⊆B le: A ≤ B less_than': less_than'(a;b) less_than: a < b squash: T cpsquicksort: cpsquicksort(cmp;L;k) quicksort: quicksort(cmp;L) bool: 𝔹 unit: Unit it: btrue: tt uiff: uiff(P;Q) ifthenelse: if then else fi  bfalse: ff iff: ⇐⇒ Q rev_implies:  Q cons: [a b] sq_stable: SqStable(P) subtract: m true: True callbyvalueall: callbyvalueall listp: List+ has-value: (a)↓ has-valueall: has-valueall(a) comparison: comparison(T) let: let cand: c∧ B l_exists: (∃x∈L. P[x]) equiv_rel: EquivRel(T;x,y.E[x; y]) sq_type: SQType(T) lt_int: i <j assert: b refl: Refl(T;x,y.E[x; y])
Lemmas referenced :  nat_properties satisfiable-full-omega-tt intformand_wf intformle_wf itermConstant_wf itermVar_wf intformless_wf int_formula_prop_and_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 ge_wf less_than_wf list_wf le_wf length_wf int_seg_wf int_seg_properties decidable__le subtract_wf intformnot_wf itermSubtract_wf int_formula_prop_not_lemma int_term_value_subtract_lemma decidable__equal_int int_seg_subtype false_wf intformeq_wf int_formula_prop_eq_lemma non_neg_length decidable__lt lelt_wf null_wf3 subtype_rel_list top_wf bool_wf uiff_transitivity equal-wf-T-base assert_wf eqtt_to_assert assert_of_null iff_transitivity bnot_wf not_wf iff_weakening_uiff eqff_to_assert assert_of_bnot valueall-type-has-valueall hd_wf list-cases length_of_nil_lemma nil_wf product_subtype_list length_of_cons_lemma length_wf_nat nat_wf not-ge-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 equal_wf evalall-reduce listp_properties not-lt-2 zero-add le-add-cancel list-valueall-type filter_wf5 l_member_wf lt_int_wf eq_int_wf length-filter-decreases select0 subtype_base_sq int_subtype_base comparison-equiv select_wf itermAdd_wf int_term_value_add_lemma comparison_wf valueall-type_wf squash_wf true_wf iff_weakening_equal cpsquicksort_wf append_wf quicksort_wf sorted-by_wf permutation_wf
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation introduction cut lambdaFormation thin extract_by_obid sqequalHypSubstitution isectElimination hypothesisEquality hypothesis setElimination rename intWeakElimination natural_numberEquality independent_isectElimination dependent_pairFormation lambdaEquality int_eqEquality intEquality dependent_functionElimination isect_memberEquality voidElimination voidEquality sqequalRule independent_pairFormation computeAll independent_functionElimination sqequalAxiom functionEquality cumulativity because_Cache productElimination unionElimination applyEquality equalityTransitivity equalitySymmetry applyLambdaEquality hypothesis_subsumption dependent_set_memberEquality imageElimination equalityElimination baseClosed impliesFunctionality promote_hyp addEquality imageMemberEquality minusEquality callbyvalueReduce setEquality instantiate hyp_replacement productEquality universeEquality functionExtensionality

Latex:
\mforall{}[T:Type]
    \mforall{}[A:Type].  \mforall{}[cmp:comparison(T)].
        \mforall{}L:T  List.  \mforall{}[k:(T  List)  {}\mrightarrow{}  A].  (cpsquicksort(cmp;L;k)  \msim{}  k  quicksort(cmp;L)) 
    supposing  valueall-type(T)



Date html generated: 2018_05_21-PM-07_34_57
Last ObjectModification: 2017_07_26-PM-05_09_12

Theory : general


Home Index