(* -*- coq-prog-args: ("-allow-sprop"); -*- *)
(* A bug due to bad hashconsing of case info *)
Inductive sBox (A : SProp) : Type :=
sbox : A -> sBox A.
Definition ubox {A : SProp} (bA : sBox A) : A :=
match bA with
sbox _ X => X
end.
Inductive sle : nat -> nat -> SProp :=
sle_0 : forall n, sle 0 n
| sle_S : forall n m : nat, sle n m -> sle (S n) (S m).
Definition sle_Sn (n : nat) : sle n (S n).
Notation "g ∘ f" := (sle_trans g f) (at level 40).

Lemma bazz q0 m (f : sle (S q0) (S m)) :
sbox _ (sle_Sn q0 ∘ f) = sbox _ (sle_Sn_m (sle_Sn_Sm f)).