Definition knot_age := fun x y => knot_age1 x = Some y.
End KNOT.
Module Knot (TF':TY_FUNCTOR) : KNOT with Module TF:=TF'.
Module TF := TF'.
(* Put the discrete topped order on rhs *)
Inductive le_T : T -> T -> Prop :=
| le_T_refl : forall t1 t2,
t1 == t2 -> le_T t1 t2
| le_T_bot: forall t,
le_T T_bot t.

(* Specifications: *)
Lemma le_T_asym: forall t1 t2,
le_T t1 t2 -> le_T t2 t1 -> t1 == t2.