doc-src/Intro/prod.thy
author wenzelm
Tue, 16 Jan 2001 00:33:40 +0100
changeset 10911 eb5721204b38
parent 105 216d6ed87399
permissions -rw-r--r--
proper induction rule for arbitrarily branching datatype;

Prod = FOL +
types   "*" 2                                 (infixl 20)
arities "*"     :: (term,term)term
consts  fst     :: "'a * 'b => 'a"
        snd     :: "'a * 'b => 'b"
        Pair    :: "['a,'b] => 'a * 'b"       ("(1<_,/_>)")
rules   fst     "fst(<a,b>) = a"
        snd     "snd(<a,b>) = b"
end