elim calc_dec with c c0; intros.
left; elim a; auto with arith pts.
right; red in |- *; intros H; apply b; injection H; auto with arith pts.
elim eq_nat_dec with n n0; intros.
elim calc_dec with c c0; intros.
left; elim a; elim a0; auto with arith pts.
right; red in |- *; intros H; apply b; injection H; auto with arith pts.
right; red in |- *; intros H; apply b; injection H; auto with arith pts.
Qed.

(* Specifications: *)
Lemma univ_ecc_dec : forall s s' : srt_ecc, decide (univ s s').
refine
(fun s s' : srt_ecc =>
match s, s' return (decide (univ s s')) with
| Sprop c, Sprop c' => _
| Stype c n, Stype c' n' => _
| Sprop c, Stype c0 n => right _ _
| Stype c n, Sprop c0 => right _ _
end).