كيفية إثبات (فورال س، ف س / \ Q خ) -> (فورال س، ف خ) [وفي كوك]

StackOverflow https://stackoverflow.com/questions/835183

  •  08-07-2019
  •  | 
  •  

سؤال

وكيف يمكن للمرء إثبات (فورال س، ف س / \ Q خ) -> (فورال س، P x) في كوك؟ تحاول لساعات ولا يمكن معرفة كيفية كسر سابقة لشيء أن كوك يمكن هضمها. (أنا newb، من الواضح:)

هل كانت مفيدة؟

المحلول

ويمكنك أن تفعل ذلك بسرعة أكبر من خلال مجرد تطبيق H، ولكن هذا البرنامج النصي ينبغي أن تكون أكثر وضوحا.

Lemma foo : forall (A:Type) (P Q: A-> Prop), (forall x, P x /\ Q x) -> (forall x, P x).
intros.
destruct (H x). 
exact H0.
Qed.

نصائح أخرى

وحاول

elim (H x).

والواقع، وأنا أحسب هذا واحد عندما وجدت هذا:

الرياضيات للعلماء الحاسوب 2

في الدرس 5 انه يحل نفس المشكلة بالضبط ويستخدم "قطع (P س / \ Q س)" التي تعيد يكتب الهدف من "P س" إلى "P س / \ Q س -> P س". من هناك يمكنك أن تفعل بعض التلاعب وعندما يكون الهدف هو مجرد "P س / \ Q س" يمكنك تطبيق "فورال س: P س / \ Q س". والباقي واضح ومباشر

Assume ForAll x: P(x) /\ Q(x)
   var x; 
      P(x) //because you assumed it earlier
   ForAll x: P(x)
(ForAll x: P(x) /\ Q(x)) => (ForAll x: P(x))

وIntuitivly، إذا كان كل خ، ف (خ) وQ (خ) عقد، ثم لجميع س، P (خ) يحمل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top