doc-src/Intro/prod.thy
author boehmes
Mon, 03 Jan 2011 16:22:08 +0100
changeset 41426 09615ed31f04
parent 105 216d6ed87399
permissions -rw-r--r--
re-implemented support for datatypes (including records and typedefs); added test cases for datatypes, records and typedefs
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
105
216d6ed87399 Initial revision
lcp
parents:
diff changeset
     1
Prod = FOL +
216d6ed87399 Initial revision
lcp
parents:
diff changeset
     2
types   "*" 2                                 (infixl 20)
216d6ed87399 Initial revision
lcp
parents:
diff changeset
     3
arities "*"     :: (term,term)term
216d6ed87399 Initial revision
lcp
parents:
diff changeset
     4
consts  fst     :: "'a * 'b => 'a"
216d6ed87399 Initial revision
lcp
parents:
diff changeset
     5
        snd     :: "'a * 'b => 'b"
216d6ed87399 Initial revision
lcp
parents:
diff changeset
     6
        Pair    :: "['a,'b] => 'a * 'b"       ("(1<_,/_>)")
216d6ed87399 Initial revision
lcp
parents:
diff changeset
     7
rules   fst     "fst(<a,b>) = a"
216d6ed87399 Initial revision
lcp
parents:
diff changeset
     8
        snd     "snd(<a,b>) = b"
216d6ed87399 Initial revision
lcp
parents:
diff changeset
     9
end