# Question 20373: The Largest Fibre Is at Least the Exact Ceiling Average

[Return to catalogue page 102](https://ocme.evemisslab.com/en/questions/page/102/)

[← Question derivation index](https://ocme.evemisslab.com/en/questions/) · [Original question batch](https://ocme.evemisslab.com/en/practice/batch-20261014-advance-20261107-r05-pigeonhole-principle-foundations/#q-20261014-advance-20261107-r05-pigeonhole-principle-0048)

This teaching derivation has second-context AI mathematical and bilingual semantic review, limited to the model and assumptions stated in this question. It has no human review or new Lean proof and does not promote the original question or MKO to Canonical truth.

R0039-20373 · q-20261014-advance-20261107-r05-pigeonhole-principle-0048



## Original question and givens

Use the complete total mapping=[2, 4, 1, 3, 0, 2, 4, 1, 3, 0] from source indices Fin(10)={0,…,9} into Fin(5)={0,…,4}. The codomain is nonempty; every source has exactly one in-range image. Compute full fibre loads and collisions, not a sample. Give (loads, maximum_load, ceiling_lower_bound, bound_holds, certificate).


- G001 — Use the complete total mapping=[2, 4, 1, 3, 0, 2, 4, 1, 3, 0] from source indices Fin(10)={0,…,9} into Fin(5)={0,…,4}. The codomain is nonempty; every source has exactly one in-range image. Compute full fibre loads and collisions, not a sample. Give (loads, maximum_load, ceiling_lower_bound, bound_holds, certificate).





## Definition and scope

Use the original question domain, assumptions and cited MKO definitions. This item has second-context mathematical and bilingual review, with the model, answer and every arithmetic step independently recomputed from the original parameters; the source question remains a candidate.


- [mko-pigeonhole-principle](https://ocme.evemisslab.com/en/mko/mko-pigeonhole-principle/)





## Step-by-step derivation

S001 · impliesBefore

source operation=pigeon-generalized-load;original snapshot and mathematics retained

After

explicit ordered source output fields=[loads, maximum_load, ceiling_lower_bound, bound_holds, certificate]

Conditions: none

Retain the historical interface marker in the original snapshot while listing ordered source fields here,without JavaScript or external lookup.Field labels are not additional mathematical evidence,and No retains the source claim scope.

Step identifiers and dependenciesRule: source_ordered_interface_explicit_without_javascript · Uses: G001





S002 · impliesBefore

ORIGINAL complete source-indexed total map=[2, 4, 1, 3, 0, 2, 4, 1, 3, 0];source Fin(10);ACTUAL target Fin(5)

After

every source has ONE in-range image;all target labels0..4 retained even if unused;empty source allowed

Conditions: none

Retain original source order and target labels rather than relabeling bins by first appearance.Complete total-map data support full fibres and collisions,including an empty source into a nonempty codomain.

Step identifiers and dependenciesRule: pigeon_complete_total_map_not_sample_or_bin_relabeling · Uses: G001, S001





S003 · calculationBefore

pigeon target0 complete fibre load := sum(1, 1)

After

pigeon target0 complete fibre load = 2

Conditions: none

Substitute original roles and established intermediates exactly,retaining indices,signs,denominators and the proof's applicability conditions.

Step identifiers and dependenciesRule: exact_rational_arithmetic · Uses: G001, S002





S004 · impliesBefore

ACTUAL original target=0;ALL source fibre indices=[4, 9]

After

complete load=2;unused targets remain with load0

Conditions: none

List every codomain fibre,including load0 for unused targets.Do not count only occupied bins and thereby change the average's denominator.

Step identifiers and dependenciesRule: pigeon_every_target_load_null_bins_retained · Uses: G001, S003





S005 · calculationBefore

pigeon target1 complete fibre load := sum(1, 1)

After

pigeon target1 complete fibre load = 2

Conditions: none

Substitute original roles and established intermediates exactly,retaining indices,signs,denominators and the proof's applicability conditions.

Step identifiers and dependenciesRule: exact_rational_arithmetic · Uses: G001, S004





S006 · impliesBefore

ACTUAL original target=1;ALL source fibre indices=[2, 7]

After

complete load=2;unused targets remain with load0

Conditions: none

List every codomain fibre,including load0 for unused targets.Do not count only occupied bins and thereby change the average's denominator.

Step identifiers and dependenciesRule: pigeon_every_target_load_null_bins_retained · Uses: G001, S005





S007 · calculationBefore

pigeon target2 complete fibre load := sum(1, 1)

After

pigeon target2 complete fibre load = 2

Conditions: none

Substitute original roles and established intermediates exactly,retaining indices,signs,denominators and the proof's applicability conditions.

Step identifiers and dependenciesRule: exact_rational_arithmetic · Uses: G001, S006





S008 · impliesBefore

ACTUAL original target=2;ALL source fibre indices=[0, 5]

After

complete load=2;unused targets remain with load0

Conditions: none

List every codomain fibre,including load0 for unused targets.Do not count only occupied bins and thereby change the average's denominator.

Step identifiers and dependenciesRule: pigeon_every_target_load_null_bins_retained · Uses: G001, S007





S009 · calculationBefore

pigeon target3 complete fibre load := sum(1, 1)

After

pigeon target3 complete fibre load = 2

Conditions: none

Substitute original roles and established intermediates exactly,retaining indices,signs,denominators and the proof's applicability conditions.

Step identifiers and dependenciesRule: exact_rational_arithmetic · Uses: G001, S008





S010 · impliesBefore

ACTUAL original target=3;ALL source fibre indices=[3, 8]

After

complete load=2;unused targets remain with load0

Conditions: none

List every codomain fibre,including load0 for unused targets.Do not count only occupied bins and thereby change the average's denominator.

Step identifiers and dependenciesRule: pigeon_every_target_load_null_bins_retained · Uses: G001, S009





S011 · calculationBefore

pigeon target4 complete fibre load := sum(1, 1)

After

pigeon target4 complete fibre load = 2

Conditions: none

Substitute original roles and established intermediates exactly,retaining indices,signs,denominators and the proof's applicability conditions.

Step identifiers and dependenciesRule: exact_rational_arithmetic · Uses: G001, S010





S012 · impliesBefore

ACTUAL original target=4;ALL source fibre indices=[1, 6]

After

complete load=2;unused targets remain with load0

Conditions: none

List every codomain fibre,including load0 for unused targets.Do not count only occupied bins and thereby change the average's denominator.

Step identifiers and dependenciesRule: pigeon_every_target_load_null_bins_retained · Uses: G001, S011





S013 · calculationBefore

pigeon complete sum of all target loads := sum(2, 2, 2, 2, 2)

After

pigeon complete sum of all target loads = 10

Conditions: none

Substitute original roles and established intermediates exactly,retaining indices,signs,denominators and the proof's applicability conditions.

Step identifiers and dependenciesRule: exact_rational_arithmetic · Uses: G001, S012





S014 · calculationBefore

pigeon exact average load := div(10, 5)

After

pigeon exact average load = 2

Conditions: none

Substitute original roles and established intermediates exactly,retaining indices,signs,denominators and the proof's applicability conditions.

Step identifiers and dependenciesRule: exact_rational_arithmetic · Uses: G001, S013





S015 · calculationBefore

pigeon exact ceiling lower bound := sum(2, 0)

After

pigeon exact ceiling lower bound = 2

Conditions: none

Substitute original roles and established intermediates exactly,retaining indices,signs,denominators and the proof's applicability conditions.

Step identifiers and dependenciesRule: exact_rational_arithmetic · Uses: G001, S014





S016 · impliesBefore

ALL original-order loads=[2, 2, 2, 2, 2];sum=10;nonempty target count=5;exact average=2;division m=n*2+0

After

ceiling average=2;actual max load=2 attained at target0;maximum>=ceiling;not necessarily equality

Conditions: none

If every integer load were below ceil(m/n),all would be at most ceil−1 and their total would be less than m,a contradiction.For m=0 all loads are0 and max=ceil=0 directly.This lower bound need not equal the maximum load.

Step identifiers and dependenciesRule: pigeon_generalized_ceiling_full_load_argument · Uses: G001, S015









## Reverse checks


- S016 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
- S015 · premise_and_result_audit — Recompute pigeon exact ceiling lower bound with exact rational arithmetic, not rounded decimals.
- S014 · premise_and_result_audit — Recompute pigeon exact average load with exact rational arithmetic, not rounded decimals.
- S013 · premise_and_result_audit — Recompute pigeon complete sum of all target loads with exact rational arithmetic, not rounded decimals.
- S012 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
- S011 · premise_and_result_audit — Recompute pigeon target4 complete fibre load with exact rational arithmetic, not rounded decimals.
- S010 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
- S009 · premise_and_result_audit — Recompute pigeon target3 complete fibre load with exact rational arithmetic, not rounded decimals.
- S008 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
- S007 · premise_and_result_audit — Recompute pigeon target2 complete fibre load with exact rational arithmetic, not rounded decimals.
- S006 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
- S005 · premise_and_result_audit — Recompute pigeon target1 complete fibre load with exact rational arithmetic, not rounded decimals.
- S004 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
- S003 · premise_and_result_audit — Recompute pigeon target0 complete fibre load with exact rational arithmetic, not rounded decimals.
- S002 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.
- S001 · premise_and_result_audit — Check against the original data and this step's premises; a one-way implication is not an equivalence.





## Result

([2, 2, 2, 2, 2], 2, 2, Yes, generalized_pigeonhole_load_bound)

The full substitutions and premise checks give the original answer; source identity,format and status are unchanged.





## This question review and source binding

Review date: 2026-10-26

Original questions, answers, step expressions, numeric ASTs and historical records are retained. Source candidate labels remain historical and are not overwritten as formal proof.

Source hashes and review receipts
- input commit: 0f7be61e2c22317a4075561dc822c87d881a50db
- original question SHA-256: b01b6e22a077735b56cd3fd66bdea2e6255d8f271c4d581291a75d0b43fe4f5c
- candidate record SHA-256: ee0ce38118fa3982ddd845b6bde7331aae3c8c343196ace2731e0d2613df2baa
- semantic review receipt SHA-256: 6e11e35fafe32f16900ce9b522d01acb7b2ee6b463ab179392076cfbe1af8034
- question-first witness SHA-256: cc0fa361fc25151729e70264340d2eae94f179f6f2a2edfe80ba5704fbbd0682
- Lean: NOT_RUN · human review: NOT_PERFORMED

[Same-source full JSON](https://ocme.evemisslab.com/data/question-derivations/questions/q-20261014-advance-20261107-r05-pigeonhole-principle-0048.json)




