proposition: Lemma card_dom e : #|dom e| = #|e ⋅ ftop rT unit|.
proof: Proof. rewrite -[in RHS](on_card_preimset (f := (fun x : aT => (x,tt)))). - apply: eq_card => x. rewrite !inE /dot /=. by apply/eq_bool_iff;to_prop; firstorder. - apply: onW_bij. by apply: (Bijective (g := fst)) => [|[? []]]. Qed.
imports: Setoid Morphisms kat normalisation rewriting kat_tac comparisons rel relalg boolean mathcomp(all_ssreflect)