let error2 err m1 t1 m2 t2 =
err (message2 m1 t1 m2 t2)
+let zero = Some 0
+
+let one = Some 1
+
let assert_convertibility err f st m u t =
- if BR.are_convertible st m (Some 0) u m (Some 1) t then f () else
+ if BR.are_convertible st m zero u m one t then f () else
error2 err m u m t
let assert_applicability err f st m v t =
| _, B.Sort _ ->
error1 err "not a function" m t
| mw, B.Bind (_, B.Abst (_, w), _) ->
- if BR.are_convertible st mw (Some 0) w m (Some 1) v then f () else
+ if BR.are_convertible st mw zero w m one v then f () else
error2 err mw w m v
| _ -> assert false (**)