我已經證明了這SIMP規則:爲什麼不會在lambda表達式中簡單處理這個術語?
lemma AAA: the_sector (log_update ?f ?s) ?p = the_sector ?s ?p
規則不用於簡化如下:
lemma BBB: "(λA. if A then (the_sector (log_update f s) p) else B)
=
(λA. if A then (the_sector s p) else B)"
我知道,我可以申請自動或(規則EXT)其次通過simp來證明這個引理,但我的最終目標是比功能平等更加棘手。我相信這個關鍵點是在if條件中使用函數變量A.我想明白爲什麼simp在這種情況下不會簡化一個術語。
以下說明爲什麼我相信這是癥結所在(兩者都證明):
lemma CCC: "(λf s p. the_sector (log_update f s) p) = (λf s p. the_sector s p)"
by simp
lemma DDD: "(if A then (the_sector (log_update f s) p) else B)
=
(if A then (the_sector s p) else B)"
by simp
感謝您的任何意見。