Skip to content

Commit 5b6fc67

Browse files
author
JohnEdwardJennings
committed
Isabelle 1990 A5
1 parent 8a98c39 commit 5b6fc67

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

isabelle/putnam_1990_a5.thy

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
theory putnam_1990_a5 imports
2+
Complex_Main
3+
begin
4+
5+
definition putnam_1990_a5_solution :: bool where "putnam_1990_a5_solution \<equiv> undefined"
6+
(* False *)
7+
theorem putnam_1990_a5:
8+
fixes matmul :: "nat \<Rightarrow> (nat \<Rightarrow> nat \<Rightarrow> real) \<Rightarrow> (nat \<Rightarrow> nat \<Rightarrow> real) \<Rightarrow> (nat \<Rightarrow> nat \<Rightarrow> real)"
9+
and iszero :: "nat \<Rightarrow> (nat \<Rightarrow> nat \<Rightarrow> real) \<Rightarrow> bool"
10+
and I :: "nat \<Rightarrow> nat \<Rightarrow> real"
11+
and zeroprod :: "nat \<Rightarrow> (nat \<Rightarrow> nat \<Rightarrow> real) list \<Rightarrow> bool"
12+
defines "matmul \<equiv> \<lambda> n :: nat. \<lambda> A B :: nat \<Rightarrow> nat \<Rightarrow> real. \<lambda> i j :: nat. \<Sum> k < n. A i k * B k j"
13+
and "iszero \<equiv> \<lambda> n :: nat. \<lambda> A :: nat \<Rightarrow> nat \<Rightarrow> real. \<forall> i < n. \<forall> j < n. A i j = 0"
14+
and "I \<equiv> \<lambda> i j :: nat. if i = j then 1 else 0"
15+
and "zeroprod \<equiv> \<lambda> n :: nat. \<lambda> l :: (nat \<Rightarrow> nat \<Rightarrow> real) list. iszero n (foldl (matmul n) I l)"
16+
shows "(\<forall> n \<ge> 1. \<forall> A B :: nat \<Rightarrow> nat \<Rightarrow> real. zeroprod n [A, B, A, B] \<longrightarrow> zeroprod n [B, A, B, A]) \<longleftrightarrow> putnam_1990_a5_solution"
17+
sorry
18+
19+
end

0 commit comments

Comments
 (0)