This PR adds a test replicating Kim's diamond dependency example. The top-level package, `D`, depends on two intermediate packages, `B` and `C`, which each require semantically different versions of another package, `A`. The portion of `A` that `B` and `C` publicly use is unchanged across the versions, but they both privately make use of changed API. Currently, this causes a version clash. This will be made to work without error later this quarter.
13 lines
249 B
Text
13 lines
249 B
Text
module
|
||
|
||
public import DiamondExampleA.Ring.Defs
|
||
|
||
namespace Ring
|
||
|
||
public theorem add_left_comm [Ring α] : ∀ a b c : α, a + (b + c) = b + (a + c) := by
|
||
intros a b c
|
||
rw [← add_assoc a b c]
|
||
rw [add_comm a b]
|
||
rw [add_assoc b a c]
|
||
|
||
end Ring
|