Why can I prove ⟦(∃ x. P) ∧ (∃ x. Q)⟧ ⟹ ∃ x. (P ∧ Q)?

I am a beginner Isabelle, learning the basics. To my surprise, I just proved

lemma "⟦ ( ∃ x. P ) ∧ ( ∃ x. Q ) ⟧ ⟹  ∃ x. (P ∧ Q)"
apply ( auto )
done

in ISABEL / HOL. Suppose P and Q change according to arbitrary predicates, this is false, just create P for x = 1 and Q to x = 2.

Of course, the error should be on my side, but where is my delusion?

+4
source share
1 answer

, P Q , . term P, bool. HOL , ∃x. P P Q, P Q True, , , , .

lemma "⟦(∃x. P x) ∧ (∃x. Q x)⟧ ⟹  ∃x. P x ∧ Q x"

, , , quickcheck .

, ⟦...⟧ ( ). , HOL ∧ .

lemma "⟦∃x. P x; ∃x. Q x⟧ ⟹ ∃x. P x ∧ Q x"

lemma "∃x. P x ⟹ ∃x. Q x ⟹ ∃x. P x ∧ Q x"

, , HOL ∧, .

+8

Source: https://habr.com/ru/post/1548474/


All Articles