-
Notifications
You must be signed in to change notification settings - Fork 12
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #200 from trishullab/john
Coq and Isabelle 1987-1990 fixes
- Loading branch information
Showing
34 changed files
with
101 additions
and
93 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,16 +1,17 @@ | ||
Require Import Reals Coquelicot.Coquelicot. | ||
Open Scope R. | ||
Definition putnam_1987_b4_solution := (-1, PI). | ||
Definition putnam_1987_b4_solution := (True, -1, True, 0). | ||
Theorem putnam_1987_b4 | ||
(A := fix a (i j: nat) : (R * R):= | ||
match (i, j) with | ||
| (O, O) => (0.8, 0.6) | ||
| (S i', S j') => | ||
let xn := fst (a i' j') in | ||
let yn := snd (a i' j') in | ||
(xn * cos yn - yn * sin yn,xn * sin yn + yn * cos yn) | ||
| (_, _) => (0, 0) | ||
(A := fix a (n: nat) : (R * R) := | ||
match n with | ||
| O => (0.8, 0.6) | ||
| (S n') => | ||
let (xn, yn) := a n' in | ||
(xn * cos yn - yn * sin yn, xn * sin yn + yn * cos yn) | ||
end) | ||
: Lim_seq (fun n => fst (A n 0%nat)) = fst putnam_1987_b4_solution /\ | ||
Lim_seq (fun n => snd (A 0%nat n)) = snd putnam_1987_b4_solution. | ||
: let '(existsx, limx, existsy, limy) := putnam_1987_b4_solution in | ||
(ex_lim_seq (fun n => fst (A n)) <-> existsx) /\ | ||
(existsx -> Lim_seq (fun n => fst (A n)) = limx) /\ | ||
(ex_lim_seq (fun n => snd (A n)) <-> existsy) /\ | ||
(existsy -> Lim_seq (fun n => snd (A n)) = limy). | ||
Proof. Admitted. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,6 @@ | ||
Require Import Reals Coquelicot.Coquelicot. From mathcomp Require Import fintype. | ||
Definition putnam_1988_a4_solution : Prop * Prop := (True, False). | ||
Theorem putnam_1988_a4 | ||
(p : nat -> Prop := fun n : nat => (forall color : (R * R) -> 'I_n, exists p q : R * R, color p = color q /\ norm (fst p - fst q, snd p - snd q) = 1)) | ||
(p : nat -> Prop := fun n : nat => (forall color : (R * R) -> 'I_n, exists p q : R * R, color p = color q /\ norm (fst p - fst q, snd p - snd q) = 1)) | ||
: let (a, b) := putnam_1988_a4_solution in ((p 3%nat) <-> a) /\ ((p 9%nat) <-> b). | ||
Proof. Admitted. | ||
Proof. Admitted. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,9 @@ | ||
Require Import Reals Coquelicot.Coquelicot. | ||
Open Scope R. | ||
Theorem putnam_1988_b4 | ||
(b : nat -> (nat -> R) -> R := fun n a => Rpower (a n) (INR n/(INR n + 1))) | ||
: forall (a: nat -> R), (forall (n: nat), a n > 0) -> | ||
ex_finite_lim_seq (fun n => sum_n a n) -> ex_finite_lim_seq (fun n => sum_n (fun m => (b m a)) n). | ||
(a : nat -> R) | ||
(appos : (nat -> R) -> Prop := fun a' : nat -> R => forall n : nat, ge n 1 -> a' n > 0) | ||
(apconv : (nat -> R) -> Prop := fun a' : nat -> R => ex_finite_lim_seq (fun N => sum_n_m a' 1 N)) | ||
(apposconv : (nat -> R) -> Prop := fun a' => appos a' /\ apconv a') | ||
: apposconv a -> apposconv (fun n => Rpower (a n) (INR n/(INR n + 1))). | ||
Proof. Admitted. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,7 @@ | ||
Require Import Ensembles Finite_sets. | ||
Require Import Ensembles Finite_sets ZArith. | ||
Open Scope Z. | ||
Theorem putnam_1988_b6 | ||
(triangular : nat -> Prop := fun n => exists (m: nat), n = Nat.div (m * (m + 1)) 2) | ||
(E: Ensemble (nat*nat) := fun '(a, b) => exists (m: nat), triangular m <-> triangular (Nat.mul a m + b)) | ||
: ~ exists (n: nat), cardinal (nat*nat) E n. | ||
(triangular : Z -> Prop := fun n => exists (m: Z), m >= 0 /\ n = (m * (m + 1)) / 2) | ||
(E: Ensemble (Z*Z) := fun '(a, b) => forall (m: Z), m > 0 -> (triangular m <-> triangular (Z.mul a m + b))) | ||
: ~ exists (n: nat), cardinal (Z*Z) E n. | ||
Proof. Admitted. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,7 @@ | ||
Require Import Nat Reals ZArith Znumtheory Coquelicot.Coquelicot. | ||
Require Import Nat Reals ZArith Znumtheory Coquelicot.Coquelicot Finite_sets. | ||
Open Scope R. | ||
Definition putnam_1989_a1_solution (x: R) := x = INR 101. | ||
Definition putnam_1989_a1_solution := 1%nat. | ||
Theorem putnam_1989_a1 | ||
(a : nat -> R := fun n => sum_n (fun n => if odd n then INR (10^(n-1)) else R0) (2*n+2)) | ||
: forall (n: nat), prime (floor (a n)) -> putnam_1989_a1_solution (a n). | ||
(a : nat -> R := fun n => sum_n (fun i => if odd i then INR (10^(i-1)) else R0) (2*n+2)) | ||
: cardinal nat (fun n => prime (floor (a n))) putnam_1989_a1_solution. | ||
Proof. Admitted. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,6 @@ | ||
From mathcomp Require Import matrix ssralg. | ||
Open Scope ring_scope. | ||
Definition putnam_1990_a5_solution := False. | ||
Theorem putnam_1990_a5 | ||
(R : ringType) | ||
(n : nat) | ||
(A B : 'M[R]_n) | ||
: mulmx (mulmx (mulmx A B) A) B = 0 -> | ||
mulmx (mulmx (mulmx B A) B) A = 0. | ||
: (forall (R : ringType) (n: nat) (A B : 'M[R]_n), n >= 1 -> mulmx (mulmx (mulmx A B) A) B = 0 -> mulmx (mulmx (mulmx B A) B) A = 0) <-> putnam_1990_a5_solution. | ||
Proof. Admitted. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,9 @@ | ||
Require Import Reals Coquelicot.Coquelicot. | ||
Open Scope R. | ||
Definition putnam_1990_b1_solution (f: R -> R) := f = (fun x => sqrt 1990 * exp x) /\ f = (fun x => -sqrt 1990 * exp x). | ||
Definition putnam_1990_b1_solution (f: R -> R) := f = (fun x => sqrt 1990 * exp x) \/ f = (fun x => -sqrt 1990 * exp x). | ||
Theorem putnam_1990_b1 | ||
(f : R -> R) | ||
: continuity f /\ forall x, ex_derive_n f 1 x -> | ||
forall x, pow (f x) 2 = RInt (fun t => pow (f t) 2 + pow ((Derive f) t) 2) 0 x + 1990 -> | ||
(fderiv : (forall x : R, ex_derive f x) /\ continuity (Derive f)) | ||
: (forall x, pow (f x) 2 = RInt (fun t => pow (f t) 2 + pow ((Derive f) t) 2) 0 x + 1990) <-> | ||
putnam_1990_b1_solution f. | ||
Proof. Admitted. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,13 @@ | ||
Require Import Reals Coquelicot.Coquelicot. | ||
Open Scope R. | ||
Theorem putnam_1990_b2 | ||
(prod_n : (nat -> R) -> nat -> R := fix P (a: nat -> R) (n : nat) : R := | ||
match n with | ||
| O => 1 | ||
| S n' => a n' * P a n' | ||
end) | ||
(x z : R) | ||
(hxz : Rabs x < 1 /\ Rabs z > 1) | ||
(P : nat -> R := fun j => (sum_n (fun i => 1 - z * x ^ i) j) / (sum_n (fun i => z - x ^ i) j+1)) | ||
: 1 + Series (fun j => 1 + x ^ (j+1) * P j) = 0. | ||
(P : nat -> R := fun j => (prod_n (fun i => 1 - z * x ^ i) j) / (prod_n (fun i => z - x ^ (i + 1)) j)) | ||
: 1 + Series (fun j => (1 + x ^ (j+1)) * P (j+1)%nat) = 0. | ||
Proof. Admitted. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,14 +1,9 @@ | ||
Require Import Ensembles Finite_sets Reals Coquelicot.Coquelicot. | ||
Open Scope R. | ||
Theorem putnam_1990_b3 | ||
(Mmult_n := | ||
fix Mmult_n {T : Ring} (A : matrix 2 2) (p : nat) := | ||
match p with | ||
| O => A | ||
| S p' => @Mmult T 2 2 2 A (Mmult_n A p') | ||
end) | ||
(E : Ensemble (matrix 2 2) := fun (A: matrix 2 2) => | ||
(E : Ensemble (matrix 2 2)) | ||
(hE : forall (A: matrix 2 2), E A -> | ||
forall (i j: nat), and (le 0 i) (lt i 2) /\ and (le 0 j) (lt j 2) -> | ||
(coeff_mat 0 A i j) <= 200 /\ exists (m: nat), coeff_mat 0 A i j = INR m ^ 2) | ||
: exists (sz : nat), gt sz 50387 /\ cardinal (matrix 2 2) E sz -> exists (A B: matrix 2 2), E A /\ E B /\ Mmult A B = Mmult B A. | ||
: (exists (sz : nat), gt sz 50387 /\ cardinal (matrix 2 2) E sz) -> exists (A B: matrix 2 2), E A /\ E B /\ A <> B /\ Mmult A B = Mmult B A. | ||
Proof. Admitted. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.