src/HOL/Nominal/Examples/Class.thy
author urbanc
Wed, 11 Jan 2006 18:46:31 +0100
changeset 18661 dde117622dac
parent 18425 bcf13dbaa339
child 18881 c5f7cba2a675
permissions -rw-r--r--
updated to new induction principle
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
18425
bcf13dbaa339 I think the earlier version was completely broken
urbanc
parents: 18395
diff changeset
     1
18661
dde117622dac updated to new induction principle
urbanc
parents: 18425
diff changeset
     2
theory Class 
18425
bcf13dbaa339 I think the earlier version was completely broken
urbanc
parents: 18395
diff changeset
     3
imports "../nominal" 
bcf13dbaa339 I think the earlier version was completely broken
urbanc
parents: 18395
diff changeset
     4
begin
18395
87217764cec2 initial commit (not to be seen by the public)
urbanc
parents:
diff changeset
     5
87217764cec2 initial commit (not to be seen by the public)
urbanc
parents:
diff changeset
     6
atom_decl name coname
87217764cec2 initial commit (not to be seen by the public)
urbanc
parents:
diff changeset
     7
87217764cec2 initial commit (not to be seen by the public)
urbanc
parents:
diff changeset
     8
section {* Term-Calculus from my PHD *}
87217764cec2 initial commit (not to be seen by the public)
urbanc
parents:
diff changeset
     9
87217764cec2 initial commit (not to be seen by the public)
urbanc
parents:
diff changeset
    10
nominal_datatype trm = Ax  "name" "coname"
18425
bcf13dbaa339 I think the earlier version was completely broken
urbanc
parents: 18395
diff changeset
    11
                 | ImpR "\<guillemotleft>name\<guillemotright>(\<guillemotleft>coname\<guillemotright>trm)" "coname"  ("ImpR [_].[_]._ _" [100,100,100,100] 100)
bcf13dbaa339 I think the earlier version was completely broken
urbanc
parents: 18395
diff changeset
    12
                 | ImpL "\<guillemotleft>coname\<guillemotright>trm" "\<guillemotleft>name\<guillemotright>trm" "name"("ImpL [_]._ [_]._ _" [100,100,100,100,100] 100)
bcf13dbaa339 I think the earlier version was completely broken
urbanc
parents: 18395
diff changeset
    13
                 | Cut "\<guillemotleft>coname\<guillemotright>trm" "\<guillemotleft>name\<guillemotright>trm"        ("Cut [_]._ [_]._" [100,100,100,100] 100)
18395
87217764cec2 initial commit (not to be seen by the public)
urbanc
parents:
diff changeset
    14
18661
dde117622dac updated to new induction principle
urbanc
parents: 18425
diff changeset
    15
thm trm.induct
dde117622dac updated to new induction principle
urbanc
parents: 18425
diff changeset
    16
thm trm.inducts
dde117622dac updated to new induction principle
urbanc
parents: 18425
diff changeset
    17
thm trm.induct'
18395
87217764cec2 initial commit (not to be seen by the public)
urbanc
parents:
diff changeset
    18