src/HOL/Isar_Examples/Expr_Compiler.thy
changeset 61799 4cf66f21b764
parent 61541 846c72206207
child 61932 2e48182cc82c
equal deleted inserted replaced
61798:27f3c10b0b50 61799:4cf66f21b764
   155       by simp
   155       by simp
   156     finally show ?case .
   156     finally show ?case .
   157   next
   157   next
   158     case (Load adr)
   158     case (Load adr)
   159     from Cons show ?case
   159     from Cons show ?case
   160       by simp -- \<open>same as above\<close>
   160       by simp \<comment> \<open>same as above\<close>
   161   next
   161   next
   162     case (Apply fn)
   162     case (Apply fn)
   163     have "exec ((Apply fn # xs) @ ys) s env =
   163     have "exec ((Apply fn # xs) @ ys) s env =
   164         exec (Apply fn # xs @ ys) s env" by simp
   164         exec (Apply fn # xs @ ys) s env" by simp
   165     also have "\<dots> =
   165     also have "\<dots> =
   185     also have "env adr = eval (Variable adr) env"
   185     also have "env adr = eval (Variable adr) env"
   186       by simp
   186       by simp
   187     finally show ?case .
   187     finally show ?case .
   188   next
   188   next
   189     case (Constant val s)
   189     case (Constant val s)
   190     show ?case by simp -- \<open>same as above\<close>
   190     show ?case by simp \<comment> \<open>same as above\<close>
   191   next
   191   next
   192     case (Binop fn e1 e2 s)
   192     case (Binop fn e1 e2 s)
   193     have "exec (compile (Binop fn e1 e2)) s env =
   193     have "exec (compile (Binop fn e1 e2)) s env =
   194         exec (compile e2 @ compile e1 @ [Apply fn]) s env"
   194         exec (compile e2 @ compile e1 @ [Apply fn]) s env"
   195       by simp
   195       by simp