From c495c3384cf10ded0d56a559d120ce0832374679 Mon Sep 17 00:00:00 2001 From: Folkert Kevelam Date: Fri, 12 Sep 2025 17:19:21 +0200 Subject: [PATCH] Add Intersect predicate --- data/penrose/set.domain | 3 ++- data/penrose/set.style | 8 ++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/data/penrose/set.domain b/data/penrose/set.domain index 1318ae7..911239b 100644 --- a/data/penrose/set.domain +++ b/data/penrose/set.domain @@ -1,4 +1,5 @@ type Set predicate SubSet(Set s1, Set s2) -predicate Disjoint(Set s1, Set s2) +symmetric predicate Disjoint(Set s1, Set s2) +symmetric predicate Intersect(Set s1, Set s2) diff --git a/data/penrose/set.style b/data/penrose/set.style index ac6c379..530b048 100644 --- a/data/penrose/set.style +++ b/data/penrose/set.style @@ -21,6 +21,14 @@ where SubSet(x, y) { layer x.icon above y.icon } +forall Set x; Set y +where Intersect(x,y) { + ensure disjoint(x.text, y.icon, 5.0) + ensure disjoint(y.text, x.icon, 5.0) + ensure overlapping(x.icon, y.icon, 5.0) + layer x.icon above y.icon +} + forall Set x; Set y where Disjoint(x, y) { ensure disjoint(x.icon, y.icon)