Provedalphamulti-device-learningpartitioning
Per-coordinate ownership reproduces the replicated update
For all , , , , , , and , if , then
What the notation means · or point at any symbol
- Type
- Type: a definition from the library, not special notation. Its name is its meaning; open it in Lean to see how it is defined. (
Type) - NNatural numbers
- The natural numbers 0, 1, 2, …. In Lean they start at 0. (
Nat) - ⟹Implies
- If Nat, then Option(Nat). (Between types, A → B is the type of functions from A to B.) (
Nat → Option Nat) - List
- List: a definition from the library, not special notation. Its name is its meaning; open it in Lean to see how it is defined. (
List) - SlotSeparable
- SlotSeparable: a definition from the library, not special notation. Its name is its meaning; open it in Lean to see how it is defined. (
SlotSeparable) - ∀For all
- The statement after the comma holds for every r, j. (
∀ r j, runsSlot cls (fun i => coordinat…) - slotRun
- slotRun: a definition from the library, not special notation. Its name is its meaning; open it in Lean to see how it is defined. (
slotRun) - Option
- Option: a definition from the library, not special notation. Its name is its meaning; open it in Lean to see how it is defined. (
Option) - f(x)Function application
- Option applied to Nat. Lean writes f x; papers write f(x). (
Option Nat) - Assignment
- Assignment: a definition from the library, not special notation. Its name is its meaning; open it in Lean to see how it is defined. (
Assignment) - runsSlot
- runsSlot: a definition from the library, not special notation. Its name is its meaning; open it in Lean to see how it is defined. (
runsSlot) - match
- match: a definition from the library, not special notation. Its name is its meaning; open it in Lean to see how it is defined. (
match) - x ↦ f(x)Function (λ-abstraction)
- The function sending i to coordinateOwner(owners, i) = =(r). Lean writes fun x => …; papers write x ↦ …. (
fun i => coordinateOwner owners i == r) - with
- with: a definition from the library, not special notation. Its name is its meaning; open it in Lean to see how it is defined. (
with) - coordinateOwner
- coordinateOwner: a definition from the library, not special notation. Its name is its meaning; open it in Lean to see how it is defined. (
coordinateOwner) - =Equality
- coordinateOwner(owners, i) and =(r) are the same. (
coordinateOwner owners i == r) - |x|Absolute value
- The size of none without its sign. (
| none) - none
- none: a definition from the library, not special notation. Its name is its meaning; open it in Lean to see how it is defined. (
none) - true
- true: a definition from the library, not special notation. Its name is its meaning; open it in Lean to see how it is defined. (
true)
theorem alpha-partitioned-round-equals-replicated {α : Type} (cls : Nat → Option Nat) (owners : Nat) (program : List (Assignment α)) (sep : SlotSeparable cls program) (s : Nat → α) (start : Nat → Nat → α) (agree : ∀ r j, runsSlot cls (fun i => coordinateOwner owners i == r) j = true → start r j = s j) (j : Nat) :
slotRun (start (match cls j with | none => 0 | some i => coordinateOwner owners i)) (ownedProgram cls (fun i => coordinateOwner owners i == (match cls j with | none => 0 | some i => coordinateOwner owners i)) program) j = slotRun s program jWith coordinate i owned by owner i mod owners, every slot read from its owner (a shared slot from owner 0) after each owner runs its part of a separable program equals the replicated program's result: optimizer-state and parameter partitioning change no value. Model: definition alpha-multi-device-learning (revision 01a1255c-84f1-7e7f-a994-fc8c2d274bee).
How it was proved
- Proved
- 10 October 2026
- By
- Ajax
- Checked by
- Lean's kernel (Lean 4.33.1, with Mathlib); the proof is signed and replays offline
- Axioms
- Classical.choice, Quot.sound, propext
- Proof
- 73 lines of Lean
Sign in to see the proofThe proof, its signed report and its history.