PARITY, the parity of a marked subset
Lax945089.Parity · concepts/Lax945089/Parity.lean · lax-945089
No public endorsements yet.
Loading review…
Sign in with ORCIDNatural Language Statement
Definition
An instance is a finite set with a marked subset: a structure over the vocabulary with one unary relation. It is a yes-instance of PARITY when the number of marked elements is even; PARITY is the decision problem of the structures isomorphic to such an instance. This is the problem of the classical lower bounds for bounded-depth circuits, as opposed to EVEN, which asks for the parity of the whole universe.
Concept map
Lean source view on GitHub
| 1 | import Mathlib.ModelTheory.Semantics |
| 2 | import Mathlib.Data.Set.Card |
| 3 | import Mathlib.Algebra.Group.Even |
| 4 | import Lax904597.Problems |
| 5 | import Lax485149.Problems |
| 6 | |
| 7 | /-! |
| 8 | --- |
| 9 | title: PARITY, the parity of a marked subset |
| 10 | type: definition |
| 11 | --- |
| 12 | An instance is a finite set with a marked subset: a structure over the |
| 13 | vocabulary with one unary relation. It is a yes-instance of PARITY when the |
| 14 | number of marked elements is even; PARITY is the decision problem of the |
| 15 | structures isomorphic to such an instance. This is the problem of the |
| 16 | classical lower bounds for bounded-depth circuits, as opposed to EVEN, which |
| 17 | asks for the parity of the whole universe. |
| 18 | -/ |
| 19 | |
| 20 | namespace Lax945089.Parity |
| 21 | |
| 22 | open Lax904597.Problems Lax485149.Problems |
| 23 | |
| 24 | open FirstOrder |
| 25 | |
| 26 | open FirstOrder.Language |
| 27 | |
| 28 | /-- The relation symbols of the language. -/ |
| 29 | inductive markedSetRel : ℕ → Type where |
| 30 | /-- `mark x`: the element `x` belongs to the marked subset. -/ |
| 31 | | mark : markedSetRel 1 |
| 32 | deriving DecidableEq |
| 33 | |
| 34 | /-- The relational vocabulary of a *marked subset*: a finite set with a |
| 35 | distinguished subset of it. -/ |
| 36 | def markedSet : FirstOrder.Language := |
| 37 | ⟨fun _ => Empty, markedSetRel⟩ |
| 38 | |
| 39 | instance instIsRelationalMarkedSet : FirstOrder.Language.IsRelational markedSet := fun _ => |
| 40 | (inferInstance : IsEmpty Empty) |
| 41 | |
| 42 | /-- `mark x`: the element `x` belongs to the marked subset. -/ |
| 43 | abbrev markedSetMark : markedSet.Relations 1 := |
| 44 | .mark |
| 45 | |
| 46 | open FirstOrder |
| 47 | |
| 48 | open Language Structure |
| 49 | |
| 50 | section Problem |
| 51 | |
| 52 | variable (A : Type) [markedSet.Structure A] |
| 53 | |
| 54 | /-- The marked subset of a structure. -/ |
| 55 | def Marked : Set A := |
| 56 | {x : A | RelMap markedSetMark ![x]} |
| 57 | |
| 58 | end Problem |
| 59 | |
| 60 | /-- PARITY: is the marked subset of even size? -/ |
| 61 | def PARITY : DecisionProblem markedSet := |
| 62 | DecisionProblem.ofPred fun A _ => Even (Marked A).ncard |
| 63 | |
| 64 | end Lax945089.Parity |
| 65 |
Builds on
Used by
Lax945089.EhrenfeuchtMethodologyLax945089.EvenInvarianceLax945089.EvenNotFirstOrderLax945089.FirstOrderBelowACZeroLax945089.FirstOrderBelowTransitiveClosureLax945089.GamesOnLinearOrdersLax945089.GamesOnSetsLax945089.NoDefinableOrderLax945089.OrderFreeInductionMissesPTIMELax945089.ParityInLogSpaceLax945089.PebbleInvarianceLax945089.ReductionsBelowLogSpace
Discussion
Ask a question or add context. Endorsements and structured flags are kept in the review panel above.
0 comments