Module Type Protothetic (dolce:DOLCE_root).
(************************** Meta-rules of Protothetic in Coq ***************************)
Parameter eqP : Prop -> Prop -> Prop.
Notation "a ≡≡ b" := (eqP a b)  (at level 80).
(* elimination rules for equivalence *)
Parameter detachL     : forall (p q:Prop), (p ≡≡ q) -> p -> q.
Parameter detachR     : forall (p q:Prop), (p ≡≡ q) -> q -> p.
(* substitution rules for equivalence -> use rewrite *)

Lemma T2 : forall (q r:Prop),(((r ≡≡ (q ≡≡ r)) ≡≡ ((r ≡≡ q) ≡≡ r)) ≡≡ ((q ≡≡ r) ≡≡ (r ≡≡ q))).