Definition mdegree_eq : mdegree -> mdegree -> Prop := (@predicate_equivalence (Tcons (term -> Prop) Tnil)).
Instance mdegree_eq_equiv : Equivalence mdegree_eq.
Notation "a =𝐦 b" := (mdegree_eq a b)  (at level 40).
Definition lt_mdegree a b := a ≤𝐦 b /\ ~ a =𝐦 b.
Notation "a <𝐦 b" := (lt_mdegree a b) (at level 40).
Instance leq_pre : PreOrder leq_mdegree.
Instance leq_porder : PartialOrder mdegree_eq leq_mdegree.
Instance le_strict : StrictOrder lt_mdegree.
Definition 𝐨 : mdegree.

(* Specifications: *)
Lemma 𝐧_decidable : decidable_mdegree 𝐧.
Definition 𝐎𝐦 : mdegree.
Lemma 𝐨_min a : (forall P, P ∈ a -> exists s, ~ P s) -> 𝐨 ≤𝐦 a.
Lemma 𝐧_min a : (forall P, P ∈ a -> exists s, P s) -> 𝐧 ≤𝐦 a.
Lemma recognisable_mdegree_all a :
recognisable_mdegree a -> forall P, P ∈ a -> recognisable P.
Lemma mdegree_closed_recognisable a b :
a ≤𝐦 b -> recognisable_mdegree b -> recognisable_mdegree a.
Lemma leq_mdegree_lub a b : exists c,
a ≤𝐦 c /\ b ≤𝐦 c /\ forall d, a ≤𝐦 d -> b ≤𝐦 d -> c ≤𝐦 d.