Nuprl Lemma : permutation-sorted-by-unique
∀[T:Type]. ∀[R:T ⟶ T ⟶ ℙ].
∀[sa,sb:T List]. (sa = sb ∈ (T List)) supposing (sorted-by(R;sa) and sorted-by(R;sb) and permutation(T;sa;sb))
supposing Linorder(T;a,b.R a b)
Proof
Definitions occuring in Statement :
permutation: permutation(T;L1;L2)
,
sorted-by: sorted-by(R;L)
,
list: T List
,
linorder: Linorder(T;x,y.R[x; y])
,
uimplies: b supposing a
,
uall: ∀[x:A]. B[x]
,
prop: ℙ
,
apply: f a
,
function: x:A ⟶ B[x]
,
universe: Type
,
equal: s = t ∈ T
Definitions unfolded in proof :
uall: ∀[x:A]. B[x]
,
member: t ∈ T
,
uimplies: b supposing a
,
so_lambda: λ2x.t[x]
,
prop: ℙ
,
subtype_rel: A ⊆r B
,
so_apply: x[s]
,
all: ∀x:A. B[x]
,
implies: P
⇒ Q
,
so_lambda: λ2x y.t[x; y]
,
so_apply: x[s1;s2]
,
iff: P
⇐⇒ Q
,
and: P ∧ Q
,
top: Top
,
not: ¬A
,
false: False
,
ge: i ≥ j
,
le: A ≤ B
,
satisfiable_int_formula: satisfiable_int_formula(fmla)
,
exists: ∃x:A. B[x]
,
or: P ∨ Q
,
l_contains: A ⊆ B
,
rev_implies: P
⇐ Q
,
guard: {T}
,
linorder: Linorder(T;x,y.R[x; y])
,
order: Order(T;x,y.R[x; y])
,
anti_sym: AntiSym(T;x,y.R[x; y])
,
cand: A c∧ B
,
squash: ↓T
,
true: True
Lemmas referenced :
list_induction,
uall_wf,
list_wf,
isect_wf,
permutation_wf,
sorted-by_wf,
subtype_rel_dep_function,
l_member_wf,
subtype_rel_self,
set_wf,
equal_wf,
linorder_wf,
permutation-nil-iff,
nil_wf,
sorted-by_wf_nil,
null_nil_lemma,
btrue_wf,
member-implies-null-eq-bfalse,
and_wf,
null_wf,
btrue_neq_bfalse,
cons_wf,
permutation-length,
length_of_cons_lemma,
length_of_nil_lemma,
non_neg_length,
satisfiable-full-omega-tt,
intformand_wf,
intformle_wf,
itermConstant_wf,
itermVar_wf,
intformeq_wf,
itermAdd_wf,
int_formula_prop_and_lemma,
int_formula_prop_le_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,
sorted-by-cons,
permutation-contains,
permutation_inversion,
l_contains_cons,
cons_member,
l_all_iff,
cons_cancel_wrt_permutation,
squash_wf,
true_wf
Rules used in proof :
sqequalSubstitution,
sqequalTransitivity,
computationStep,
sqequalReflexivity,
isect_memberFormation,
introduction,
cut,
thin,
extract_by_obid,
sqequalHypSubstitution,
isectElimination,
hypothesisEquality,
sqequalRule,
lambdaEquality,
cumulativity,
hypothesis,
because_Cache,
applyEquality,
instantiate,
functionEquality,
universeEquality,
setEquality,
independent_isectElimination,
setElimination,
rename,
lambdaFormation,
independent_functionElimination,
dependent_functionElimination,
isect_memberEquality,
axiomEquality,
equalityTransitivity,
equalitySymmetry,
functionExtensionality,
productElimination,
voidElimination,
voidEquality,
dependent_set_memberEquality,
independent_pairFormation,
hyp_replacement,
Error :applyLambdaEquality,
natural_numberEquality,
dependent_pairFormation,
int_eqEquality,
intEquality,
computeAll,
unionElimination,
inlFormation,
imageElimination,
imageMemberEquality,
baseClosed
Latex:
\mforall{}[T:Type]. \mforall{}[R:T {}\mrightarrow{} T {}\mrightarrow{} \mBbbP{}].
\mforall{}[sa,sb:T List].
(sa = sb) supposing (sorted-by(R;sa) and sorted-by(R;sb) and permutation(T;sa;sb))
supposing Linorder(T;a,b.R a b)
Date html generated:
2016_10_21-AM-10_24_14
Last ObjectModification:
2016_07_12-AM-05_38_29
Theory : list_1
Home
Index