Coq.Num.NSyntax

# Module Coq.Num.NSyntax

``

Syntax for arithmetic

`

`Require` `Export` Params.

`Infix` 6 "<" lt.
`Infix` 6 "<=" le.
`Infix` 6 ">" gt.
`Infix` 6 ">=" ge.

`Grammar` constr lassoc_constr4 :=
squash_sum
[ lassoc_constr4($c1) "+" lassoc_constr4($c2) ] ->
case [$c2] of
(SQUASH $T2) ->
case [$c1] of
(SQUASH $T1) -> [ (sumbool $T1 $T2) ]
| $_ -> [ (sumor $c1 $T2) ]
esac
| $_ -> [ (add $c1 $c2) ]
esac.

`Syntax` constr
level 4:
sum [ (add $t1 $t2) ] -> [ [<hov 0> $t1:E [0 1] "+" $t2:L ] ]
.

`

Index