Skip to content

Instantly share code, notes, and snippets.

@vedgar
Created March 31, 2016 22:52
Show Gist options
  • Save vedgar/09b890126ae659d9b1faf90856910e9b to your computer and use it in GitHub Desktop.
Save vedgar/09b890126ae659d9b1faf90856910e9b to your computer and use it in GitHub Desktop.
Require Import Classical_Prop.
Variable Person : Type.
Variable Jack Anne George : Person.
Variable married : Person -> Prop.
Notation "a ^: b" := (married a /\ ~ married b) (at level 73).
Variable looksAt : Person -> Person -> Prop.
Notation "a ~> b" := (looksAt a b) (at level 72).
Hypothesis cond : Jack ~> Anne /\ Anne ~> George /\ Jack ^: George.
Theorem solution : exists p q : Person, p ~> q /\ p ^: q.
Proof. destruct (classic (married Anne)).
exists Anne, George. split. apply cond. split. apply H. apply cond.
exists Jack, Anne. split. apply cond. split. apply cond. apply H. Qed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment