File: test15.4b.ott

package info (click to toggle)
ott 0.32%2Bds-3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 6,420 kB
  • sloc: ml: 25,065; makefile: 1,393; awk: 736; lisp: 183; sh: 14; sed: 4
file content (31 lines) | stat: -rw-r--r-- 788 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
% test15.4.ott  is_v test
% mtutual recursion between a single upper/lower type pair, with dot forms

indexvar index , n ::= {{ isa nat }} {{ coq nat }} {{ coq-equality }} 
                       {{ hol num }} {{ ocaml int }}

metavar x ::= {{ isa nat }} {{ coq nat }} {{ coq-equality }} {{ hol string }} {{ ocaml int }}

  grammar

    a {{ isa pluto}} :: 'a_' ::= 
      | x               :: :: Ax  	(+ b = x +)
      | A a           :: :: a		(+ b = b(a) +)
      | C a1 .. an    :: :: C		(+ b = b(a1..an) +)
      | CC a1 .. an   :: :: CC		(+ b = b(a1..an) +)

    av :: 'av_' ::= 
      | A a           :: :: a
      | C av1 .. avn    :: :: C
      | CC av1 .. avn    :: :: CC

subrules
  av <:: a

freevars
  a x :: ftv

substitutions
  single a x :: subst
  multiple a x :: msubst