src/HOL/Induct/ABexp.ML
author berghofe
Fri, 23 Oct 1998 22:36:15 +0200
changeset 5760 7e2cf2820684
parent 5737 31fc1d0e66d5
child 5802 614f2f30781a
permissions -rw-r--r--
Added theorems True_not_False and False_not_True (for rep_datatype).
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5737
31fc1d0e66d5 New example for using the datatype package:
berghofe
parents:
diff changeset
     1
(*  Title:      HOL/Induct/ABexp.ML
31fc1d0e66d5 New example for using the datatype package:
berghofe
parents:
diff changeset
     2
    ID:         $Id$
31fc1d0e66d5 New example for using the datatype package:
berghofe
parents:
diff changeset
     3
    Author:     Stefan Berghofer, TU Muenchen
31fc1d0e66d5 New example for using the datatype package:
berghofe
parents:
diff changeset
     4
    Copyright   1998  TU Muenchen
31fc1d0e66d5 New example for using the datatype package:
berghofe
parents:
diff changeset
     5
31fc1d0e66d5 New example for using the datatype package:
berghofe
parents:
diff changeset
     6
Arithmetic and boolean expressions
31fc1d0e66d5 New example for using the datatype package:
berghofe
parents:
diff changeset
     7
*)
31fc1d0e66d5 New example for using the datatype package:
berghofe
parents:
diff changeset
     8
31fc1d0e66d5 New example for using the datatype package:
berghofe
parents:
diff changeset
     9
(** substitution theorem for arithmetic and boolean expressions **)
31fc1d0e66d5 New example for using the datatype package:
berghofe
parents:
diff changeset
    10
31fc1d0e66d5 New example for using the datatype package:
berghofe
parents:
diff changeset
    11
Goal
31fc1d0e66d5 New example for using the datatype package:
berghofe
parents:
diff changeset
    12
  "eval_aexp env (subst_aexp (Var(v := a')) a) = eval_aexp (env(v := eval_aexp env a')) a &  \
31fc1d0e66d5 New example for using the datatype package:
berghofe
parents:
diff changeset
    13
 \ eval_bexp env (subst_bexp (Var(v := a')) b) = eval_bexp (env(v := eval_aexp env a')) b";
31fc1d0e66d5 New example for using the datatype package:
berghofe
parents:
diff changeset
    14
by (mutual_induct_tac ["a","b"] 1);
31fc1d0e66d5 New example for using the datatype package:
berghofe
parents:
diff changeset
    15
by (ALLGOALS Asm_full_simp_tac);
31fc1d0e66d5 New example for using the datatype package:
berghofe
parents:
diff changeset
    16
qed "subst_aexp_bexp";