(def-theorem cut-interval-at-left "forall(x,y,z:zz, x<z implies ((x<=y and y<=z) iff (y=x or (x+1<=y and y<=z))))" (proof ( direct-and-antecedent-inference-strategy simplify simplify simplify simplify )) (theory h-o-real-arithmetic))
(def-theorem trivial-interval "forall(x,y,z:zz, x=z implies ((x<=y and y<=z) iff y=x))" (proof ( direct-and-antecedent-inference-strategy simplify simplify simplify )) (theory h-o-real-arithmetic))
(def-compound-macete decompose-interval (series (repeat cut-interval-at-left) trivial-interval simplify))