field_theory.finite.traceMathlib.FieldTheory.Finite.Trace

This file has been ported!

Changes since the initial port

The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -32,7 +32,7 @@ theorem trace_to_zmod_nondegenerate (F : Type _) [Field F] [Finite F]
   by
   haveI : Fact (ringChar F).Prime := ⟨CharP.char_is_prime F _⟩
   have htr := traceForm_nondegenerate (ZMod (ringChar F)) F a
-  simp_rw [Algebra.traceForm_apply] at htr 
+  simp_rw [Algebra.traceForm_apply] at htr
   by_contra! hf
   exact ha (htr hf)
 #align finite_field.trace_to_zmod_nondegenerate FiniteField.trace_to_zmod_nondegenerate
Diff
@@ -33,7 +33,7 @@ theorem trace_to_zmod_nondegenerate (F : Type _) [Field F] [Finite F]
   haveI : Fact (ringChar F).Prime := ⟨CharP.char_is_prime F _⟩
   have htr := traceForm_nondegenerate (ZMod (ringChar F)) F a
   simp_rw [Algebra.traceForm_apply] at htr 
-  by_contra' hf
+  by_contra! hf
   exact ha (htr hf)
 #align finite_field.trace_to_zmod_nondegenerate FiniteField.trace_to_zmod_nondegenerate
 -/
Diff
@@ -3,8 +3,8 @@ Copyright (c) 2022 Michael Stoll. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Michael Stoll
 -/
-import Mathbin.RingTheory.Trace
-import Mathbin.FieldTheory.Finite.GaloisField
+import RingTheory.Trace
+import FieldTheory.Finite.GaloisField
 
 #align_import field_theory.finite.trace from "leanprover-community/mathlib"@"1b089e3bdc3ce6b39cd472543474a0a137128c6c"
 
Diff
@@ -2,15 +2,12 @@
 Copyright (c) 2022 Michael Stoll. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Michael Stoll
-
-! This file was ported from Lean 3 source module field_theory.finite.trace
-! leanprover-community/mathlib commit 1b089e3bdc3ce6b39cd472543474a0a137128c6c
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.RingTheory.Trace
 import Mathbin.FieldTheory.Finite.GaloisField
 
+#align_import field_theory.finite.trace from "leanprover-community/mathlib"@"1b089e3bdc3ce6b39cd472543474a0a137128c6c"
+
 /-!
 # The trace map for finite fields
 
Diff
@@ -27,9 +27,9 @@ finite field, trace
 
 namespace FiniteField
 
-#print FiniteField.trace_to_zMod_nondegenerate /-
+#print FiniteField.trace_to_zmod_nondegenerate /-
 /-- The trace map from a finite field to its prime field is nongedenerate. -/
-theorem trace_to_zMod_nondegenerate (F : Type _) [Field F] [Finite F]
+theorem trace_to_zmod_nondegenerate (F : Type _) [Field F] [Finite F]
     [Algebra (ZMod (ringChar F)) F] {a : F} (ha : a ≠ 0) :
     ∃ b : F, Algebra.trace (ZMod (ringChar F)) F (a * b) ≠ 0 :=
   by
@@ -38,7 +38,7 @@ theorem trace_to_zMod_nondegenerate (F : Type _) [Field F] [Finite F]
   simp_rw [Algebra.traceForm_apply] at htr 
   by_contra' hf
   exact ha (htr hf)
-#align finite_field.trace_to_zmod_nondegenerate FiniteField.trace_to_zMod_nondegenerate
+#align finite_field.trace_to_zmod_nondegenerate FiniteField.trace_to_zmod_nondegenerate
 -/
 
 end FiniteField
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Michael Stoll
 
 ! This file was ported from Lean 3 source module field_theory.finite.trace
-! leanprover-community/mathlib commit 0723536a0522d24fc2f159a096fb3304bef77472
+! leanprover-community/mathlib commit 1b089e3bdc3ce6b39cd472543474a0a137128c6c
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -14,6 +14,9 @@ import Mathbin.FieldTheory.Finite.GaloisField
 /-!
 # The trace map for finite fields
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 We state the fact that the trace map from a finite field of
 characteristic `p` to `zmod p` is nondegenerate.
 
Diff
@@ -24,6 +24,7 @@ finite field, trace
 
 namespace FiniteField
 
+#print FiniteField.trace_to_zMod_nondegenerate /-
 /-- The trace map from a finite field to its prime field is nongedenerate. -/
 theorem trace_to_zMod_nondegenerate (F : Type _) [Field F] [Finite F]
     [Algebra (ZMod (ringChar F)) F] {a : F} (ha : a ≠ 0) :
@@ -35,6 +36,7 @@ theorem trace_to_zMod_nondegenerate (F : Type _) [Field F] [Finite F]
   by_contra' hf
   exact ha (htr hf)
 #align finite_field.trace_to_zmod_nondegenerate FiniteField.trace_to_zMod_nondegenerate
+-/
 
 end FiniteField
 
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Michael Stoll
 
 ! This file was ported from Lean 3 source module field_theory.finite.trace
-! leanprover-community/mathlib commit 70fd9563a21e7b963887c9360bd29b2393e6225a
+! leanprover-community/mathlib commit 0723536a0522d24fc2f159a096fb3304bef77472
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -25,7 +25,8 @@ finite field, trace
 namespace FiniteField
 
 /-- The trace map from a finite field to its prime field is nongedenerate. -/
-theorem trace_to_zMod_nondegenerate (F : Type _) [Field F] [Finite F] {a : F} (ha : a ≠ 0) :
+theorem trace_to_zMod_nondegenerate (F : Type _) [Field F] [Finite F]
+    [Algebra (ZMod (ringChar F)) F] {a : F} (ha : a ≠ 0) :
     ∃ b : F, Algebra.trace (ZMod (ringChar F)) F (a * b) ≠ 0 :=
   by
   haveI : Fact (ringChar F).Prime := ⟨CharP.char_is_prime F _⟩
Diff
@@ -30,7 +30,7 @@ theorem trace_to_zMod_nondegenerate (F : Type _) [Field F] [Finite F] {a : F} (h
   by
   haveI : Fact (ringChar F).Prime := ⟨CharP.char_is_prime F _⟩
   have htr := traceForm_nondegenerate (ZMod (ringChar F)) F a
-  simp_rw [Algebra.traceForm_apply] at htr
+  simp_rw [Algebra.traceForm_apply] at htr 
   by_contra' hf
   exact ha (htr hf)
 #align finite_field.trace_to_zmod_nondegenerate FiniteField.trace_to_zMod_nondegenerate
Diff
@@ -29,7 +29,7 @@ theorem trace_to_zMod_nondegenerate (F : Type _) [Field F] [Finite F] {a : F} (h
     ∃ b : F, Algebra.trace (ZMod (ringChar F)) F (a * b) ≠ 0 :=
   by
   haveI : Fact (ringChar F).Prime := ⟨CharP.char_is_prime F _⟩
-  have htr := traceFormNondegenerate (ZMod (ringChar F)) F a
+  have htr := traceForm_nondegenerate (ZMod (ringChar F)) F a
   simp_rw [Algebra.traceForm_apply] at htr
   by_contra' hf
   exact ha (htr hf)

Changes in mathlib4

mathlib3
mathlib4
chore: rename by_contra' to by_contra! (#8797)

To fit with the "please try harder" convention of ! tactics.

Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -28,7 +28,7 @@ theorem trace_to_zmod_nondegenerate (F : Type*) [Field F] [Finite F]
   haveI : Fact (ringChar F).Prime := ⟨CharP.char_is_prime F _⟩
   have htr := traceForm_nondegenerate (ZMod (ringChar F)) F a
   simp_rw [Algebra.traceForm_apply] at htr
-  by_contra' hf
+  by_contra! hf
   exact ha (htr hf)
 #align finite_field.trace_to_zmod_nondegenerate FiniteField.trace_to_zmod_nondegenerate
 
chore: banish Type _ and Sort _ (#6499)

We remove all possible occurences of Type _ and Sort _ in favor of Type* and Sort*.

This has nice performance benefits.

Diff
@@ -22,7 +22,7 @@ finite field, trace
 namespace FiniteField
 
 /-- The trace map from a finite field to its prime field is nongedenerate. -/
-theorem trace_to_zmod_nondegenerate (F : Type _) [Field F] [Finite F]
+theorem trace_to_zmod_nondegenerate (F : Type*) [Field F] [Finite F]
     [Algebra (ZMod (ringChar F)) F] {a : F} (ha : a ≠ 0) :
     ∃ b : F, Algebra.trace (ZMod (ringChar F)) F (a * b) ≠ 0 := by
   haveI : Fact (ringChar F).Prime := ⟨CharP.char_is_prime F _⟩
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

Co-authored-by: Eric Wieser <wieser.eric@gmail.com> Co-authored-by: Scott Morrison <scott.morrison@gmail.com>

Diff
@@ -2,15 +2,12 @@
 Copyright (c) 2022 Michael Stoll. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Michael Stoll
-
-! This file was ported from Lean 3 source module field_theory.finite.trace
-! leanprover-community/mathlib commit 0723536a0522d24fc2f159a096fb3304bef77472
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.RingTheory.Trace
 import Mathlib.FieldTheory.Finite.GaloisField
 
+#align_import field_theory.finite.trace from "leanprover-community/mathlib"@"0723536a0522d24fc2f159a096fb3304bef77472"
+
 /-!
 # The trace map for finite fields
 
feat: port NumberTheory.LegendreSymbol.AddCharacter (#5397)

Co-authored-by: Parcly Taxel <reddeloostw@gmail.com> Co-authored-by: Alex J Best <alex.j.best@gmail.com> Co-authored-by: Jeremy Tan Jie Rui <reddeloostw@gmail.com> Co-authored-by: Johan Commelin <johan@commelin.net>

Diff
@@ -25,7 +25,7 @@ finite field, trace
 namespace FiniteField
 
 /-- The trace map from a finite field to its prime field is nongedenerate. -/
-theorem trace_to_zMod_nondegenerate (F : Type _) [Field F] [Finite F]
+theorem trace_to_zmod_nondegenerate (F : Type _) [Field F] [Finite F]
     [Algebra (ZMod (ringChar F)) F] {a : F} (ha : a ≠ 0) :
     ∃ b : F, Algebra.trace (ZMod (ringChar F)) F (a * b) ≠ 0 := by
   haveI : Fact (ringChar F).Prime := ⟨CharP.char_is_prime F _⟩
@@ -33,6 +33,6 @@ theorem trace_to_zMod_nondegenerate (F : Type _) [Field F] [Finite F]
   simp_rw [Algebra.traceForm_apply] at htr
   by_contra' hf
   exact ha (htr hf)
-#align finite_field.trace_to_zmod_nondegenerate FiniteField.trace_to_zMod_nondegenerate
+#align finite_field.trace_to_zmod_nondegenerate FiniteField.trace_to_zmod_nondegenerate
 
 end FiniteField
feat: port FieldTheory.Finite.Trace (#5344)

Dependencies 10 + 724

725 files ported (98.6%)
297231 lines ported (98.9%)
Show graph

The unported dependencies are