Commit 2026-07-03 01:54 a98f92c4

View on Github →

feat(Combinatorics/SimpleGraph/Paths): Walk.map preserves more properties (#38531) Adds some missing theorems about how Walk.map behaves with IsTrail/IsPath/IsCircuit/IsCycle. Summary of what we have now, with the 8 new theorems and 8 renames marked:

IsTrail.of_map                 : (p.map f).IsTrail → p.IsTrail                    -- new
isTrail_map_iff_of_injective   : f.Injective → (p.map f).IsTrail ↔ p.IsTrail      -- renamed from map_isTrail_iff_of_injective
IsTrail.map                    : f.Injective → p.IsTrail → (p.map f).IsTrail      -- renamed from map_isTrail_of_injective
IsPath.of_map                  : (p.map f).IsPath → p.IsPath
isPath_map_iff_of_injective    : f.Injective → (p.map f).IsPath ↔ p.IsPath        -- renamed from map_isPath_iff_of_injective
IsPath.map                     : f.Injective f → p.IsPath → (p.map f).IsPath      -- renamed from map_isPath_of_injective
IsCircuit.of_map               : (p.map f).IsCircuit → p.IsCircuit                -- new
isCircuit_map_iff_of_injective : f.Injective → (p.map f).IsCircuit ↔ p.IsCircuit  -- new
IsCircuit.map                  : f.Injective → p.IsCircuit → (p.map f).IsCircuit  -- new
IsCycle.of_map                 : (p.map f).IsCycle → p.IsCycle                    -- new
isCycle_map_iff_of_injective   : f.Injective → (p.map f).IsCycle ↔ p.IsCycle      -- renamed from map_isCycle_iff_of_injective
IsCycle.map                    : f.Injective → p.IsCycle → (p.map f).IsCycle
isTrail_mapLe                  : G ≤ G' → (p.mapLe h).IsTrail ↔ p.IsTrail         -- renamed from mapLe_isTrail
IsTrail.of_mapLe               : G ≤ G' → (p.mapLe h).IsTrail → p.IsTrail
IsTrail.mapLe                  : G ≤ G' → p.IsTrail → (p.mapLe h).IsTrail
isPath_mapLe                   : G ≤ G' → (p.mapLe h).IsPath ↔ p.IsPath           -- renamed from mapLe_isPath
IsPath.of_mapLe                : G ≤ G' → (p.mapLe h).IsPath → p.IsPath
IsPath.mapLe                   : G ≤ G' → p.IsPath → (p.mapLe h).IsPath
isCircuit_mapLe                : G ≤ G' → (p.mapLe h).IsCircuit ↔ p.IsCircuit     -- new
IsCircuit.of_mapLe             : G ≤ G' → (p.mapLe h).IsCircuit → p.IsCircuit     -- new
IsCircuit.mapLe                : G ≤ G' → p.IsCircuit → (p.mapLe h).IsCircuit     -- new
isCycle_mapLe                  : G ≤ G' → (p.mapLe h).IsCycle ↔ p.IsCycle         -- renamed from mapLe_isCycle
IsCycle.of_mapLe               : G ≤ G' → (p.mapLe h).IsCycle → p.IsCycle
IsCycle.mapLe                  : G ≤ G' → p.IsCycle → (p.mapLe h).IsCycle

Estimated changes