File: test_bind_isa_1.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 (22 lines) | stat: -rw-r--r-- 943 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
%% At the time this example was checked in, ott crashed with
%% [Aux.TheOfNone] when generating Isabelle.
indexvar index , i , j , k , l , m , n ::= {{ coq nat }} {{ isa nat }} {{ hol num }}
grammar
 value_name , x :: value_name_ ::=
 pattern , pat :: P_ ::=
    | value_name                                        ::   :: var
        (+ gives = value_name +)
 expr , e  :: Expr_ ::=
    | value_path                                        ::   :: ident
    | let let_binding in expr                           ::   :: let
  pattern_matching , pm :: PM_  ::=
    | pattern1 -> expr1 '|' ... '|' patternn -> exprn   ::   :: pm
  multiple_matching :: MM_ ::=
    | pattern1 ... patternn -> expr                     ::   :: patterns
        (+ bind gives(pattern1...patternn) in expr +)

  let_binding :: LB_ ::=
    | pattern = expr                                    ::   :: simple

substitutions
  multiple expr value_name :: substs_value_name