목표가 있다고 가정합니다. A ⟹ B ⟹ C ⟹ G
목표는 다루기 힘들며 (일부 증명 의무 조항에서 생성 됨) 개발 과정에서 여러 번 비슷한 모양으로 나타납니다.들어오는 모든 사실을 사용하는 초기 증명 방법
목표를 단순화하기 위해 보조자 foo
을 작성합니다. 모양은 A ⟹ C ⟹ (P ⟹ Q) ⟹ G
입니다.
나는
case goal42
thus ?case
proof (rule foo)
assume P
show Q sorry
qed
을 쓸 수 있도록하고 싶습니다하지만 foo
이 B
를 사용하지 않기 때문에이 실패합니다. 무엇 작동하는
case goal42
thus ?case
apply -
apply (erule (1) eqvt_lam_case)
proof-
assume P
show Q sorry
qed
입니다하지만, 적용 스크립트의 중간에 proof
개방이 스타일은 나쁜 관행으로 간주됩니다.
rule
과 비슷한 방법이 수신되는 사실을 규칙의 가설과 대조하는 데 약간 똑똑합니까? 이상적으로 foo
에있는 consumes 2
매개 변수를 읽고 얼마나 많은 가설이 일치해야하는지 파악하십시오.
. 나는 그것을 거의 사용하지 않지만 때로는 도움이된다. –