Nuprl Lemma : bs_tree_max_wf
∀[E:Type]. ∀[cmp:comparison(E)]. ∀[tr:ordered_bs_tree(E;cmp)]. ∀[d:E].
  (bs_tree_max(tr;d) ∈ {p:E × ordered_bs_tree(E;cmp)| 
                        let m,t = p 
                        in (∀x:E. (x ∈ tr ⇒ (x ∈ t ∨ (x = m ∈ E))))
                           ∧ ((¬↑bst_null?(tr)) ⇒ m ∈ tr)
                           ∧ (∀x:E. (x ∈ t ⇒ (x ∈ tr ∧ 0 < cmp x m)))} )
Proof
Definitions occuring in Statement : 
bs_tree_max: bs_tree_max(tr;d), 
ordered_bs_tree: ordered_bs_tree(E;cmp), 
member_bs_tree: x ∈ tr, 
bst_null?: bst_null?(v), 
comparison: comparison(T), 
assert: ↑b, 
less_than: a < b, 
uall: ∀[x:A]. B[x], 
all: ∀x:A. B[x], 
not: ¬A, 
implies: P ⇒ Q, 
or: P ∨ Q, 
and: P ∧ Q, 
member: t ∈ T, 
set: {x:A| B[x]} , 
apply: f a, 
spread: spread def, 
product: x:A × B[x], 
natural_number: $n, 
universe: Type, 
equal: s = t ∈ T
Definitions unfolded in proof : 
uall: ∀[x:A]. B[x], 
member: t ∈ T, 
ordered_bs_tree: ordered_bs_tree(E;cmp), 
all: ∀x:A. B[x], 
implies: P ⇒ Q, 
so_lambda: λ2x.t[x], 
prop: ℙ, 
and: P ∧ Q, 
so_apply: x[s], 
or: P ∨ Q, 
guard: {T}, 
not: ¬A, 
false: False, 
true: True, 
cand: A c∧ B, 
btrue: tt, 
ifthenelse: if b then t else f fi , 
assert: ↑b, 
eq_atom: x =a y, 
pi1: fst(t), 
bst_null?: bst_null?(v), 
bs_tree_ind: bs_tree_ind, 
bst_null: bst_null(), 
bs_tree_max: bs_tree_max(tr;d), 
bs_tree_ordered: bs_tree_ordered(E;cmp;tr), 
member_bs_tree: x ∈ tr, 
bfalse: ff, 
bst_leaf: bst_leaf(value), 
comparison: comparison(T), 
bst_node: bst_node(left;value;right), 
bool: 𝔹, 
unit: Unit, 
it: ⋅, 
uiff: uiff(P;Q), 
uimplies: b supposing a, 
exists: ∃x:A. B[x], 
sq_type: SQType(T), 
bnot: ¬bb, 
ext-eq: A ≡ B, 
subtype_rel: A ⊆r B, 
squash: ↓T, 
trans: Trans(T;x,y.E[x; y]), 
iff: P ⇐⇒ Q, 
less_than: a < b, 
satisfiable_int_formula: satisfiable_int_formula(fmla), 
top: Top
Lemmas referenced : 
istype-universe, 
ordered_bs_tree_wf, 
comparison_wf, 
bs_tree-induction, 
bs_tree_ordered_wf, 
all_wf, 
bs_tree_wf, 
true_wf, 
not_wf, 
false_wf, 
equal_wf, 
bst_node_wf, 
bs_tree_max_wf1, 
member_bs_tree_wf, 
or_wf, 
assert_wf, 
bst_null?_wf, 
less_than_wf, 
eqtt_to_assert, 
eqff_to_assert, 
bool_cases_sqequal, 
subtype_base_sq, 
bool_wf, 
bool_subtype_base, 
assert-bnot, 
bs_tree-ext, 
eq_atom_wf, 
assert_of_eq_atom, 
atom_subtype_base, 
unit_wf2, 
unit_subtype_base, 
it_wf, 
bst_null_wf, 
neg_assert_of_eq_atom, 
assert_elim, 
bst_leaf_wf, 
bfalse_wf, 
btrue_neq_bfalse, 
istype-void, 
squash_wf, 
istype-int, 
strict-comparison-trans, 
comparison-anti, 
subtype_rel_self, 
iff_weakening_equal, 
full-omega-unsat, 
intformand_wf, 
intformless_wf, 
itermConstant_wf, 
itermMinus_wf, 
itermVar_wf, 
int_formula_prop_and_lemma, 
int_formula_prop_less_lemma, 
int_term_value_constant_lemma, 
int_term_value_minus_lemma, 
int_term_value_var_lemma, 
int_formula_prop_wf
Rules used in proof : 
sqequalSubstitution, 
sqequalTransitivity, 
computationStep, 
sqequalReflexivity, 
isect_memberFormation_alt, 
introduction, 
cut, 
sqequalHypSubstitution, 
setElimination, 
thin, 
rename, 
hypothesis, 
sqequalRule, 
axiomEquality, 
equalityTransitivity, 
equalitySymmetry, 
extract_by_obid, 
isectElimination, 
hypothesisEquality, 
isect_memberEquality_alt, 
universeIsType, 
because_Cache, 
dependent_functionElimination, 
universeEquality, 
independent_functionElimination, 
lambdaEquality_alt, 
functionEquality, 
inhabitedIsType, 
lambdaFormation_alt, 
productElimination, 
productEquality, 
equalityIsType1, 
voidElimination, 
independent_pairFormation, 
natural_numberEquality, 
lambdaFormation, 
cumulativity, 
inrFormation, 
functionIsType, 
closedConclusion, 
applyEquality, 
unionElimination, 
equalityElimination, 
independent_isectElimination, 
dependent_pairFormation_alt, 
promote_hyp, 
instantiate, 
hyp_replacement, 
applyLambdaEquality, 
hypothesis_subsumption, 
tokenEquality, 
atomEquality, 
equalityIsType2, 
baseApply, 
baseClosed, 
inrFormation_alt, 
inlFormation_alt, 
unionIsType, 
productIsType, 
dependent_set_memberEquality_alt, 
imageElimination, 
imageMemberEquality, 
approximateComputation, 
int_eqEquality, 
setEquality, 
lambdaEquality, 
independent_pairEquality, 
dependent_set_memberEquality
Latex:
\mforall{}[E:Type].  \mforall{}[cmp:comparison(E)].  \mforall{}[tr:ordered\_bs\_tree(E;cmp)].  \mforall{}[d:E].
    (bs\_tree\_max(tr;d)  \mmember{}  \{p:E  \mtimes{}  ordered\_bs\_tree(E;cmp)| 
                                                let  m,t  =  p 
                                                in  (\mforall{}x:E.  (x  \mmember{}  tr  {}\mRightarrow{}  (x  \mmember{}  t  \mvee{}  (x  =  m))))
                                                      \mwedge{}  ((\mneg{}\muparrow{}bst\_null?(tr))  {}\mRightarrow{}  m  \mmember{}  tr)
                                                      \mwedge{}  (\mforall{}x:E.  (x  \mmember{}  t  {}\mRightarrow{}  (x  \mmember{}  tr  \mwedge{}  0  <  cmp  x  m)))\}  )
Date html generated:
2019_10_15-AM-10_47_26
Last ObjectModification:
2018_10_11-PM-11_23_50
Theory : tree_1
Home
Index