Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
2249e21
Move inference checker to its own file
maartenflippo Feb 25, 2026
32d3af6
Move the deduction checker to `pumpkin_checking`
maartenflippo Feb 25, 2026
f8e8080
Build runtime verification into the resolution conflict resolver
maartenflippo Mar 2, 2026
4232ef9
Run deduction verification during tests
maartenflippo Mar 2, 2026
c7f3147
Fix CI to actually run deduction checks
maartenflippo Mar 2, 2026
e33f843
Implement better printing of failed deduction checks
maartenflippo Mar 2, 2026
74a38a1
Collect initial domains and the last propagation as supporting infere…
maartenflippo Mar 2, 2026
b52740b
Do runtime verification of deductions when they are logged
maartenflippo Mar 3, 2026
dbd4056
Verify deductions in tests
maartenflippo Mar 3, 2026
e46a611
refactor(pumpkin-conflict-resolvers): Correctly log domain inferences…
maartenflippo Mar 28, 2026
9b9e7ee
fix(pumpkin-conflict-resolvers): Log inference for freshly added fals…
maartenflippo Mar 28, 2026
c1565e1
Fix docs for atomic! macro
maartenflippo Mar 28, 2026
5064db2
Apply fixes based on feedback in review
maartenflippo Mar 28, 2026
18aa665
Correctly log inferences for minimisation
maartenflippo Mar 29, 2026
56e5a14
Remove redundant inferences introduced through minimisation
maartenflippo Mar 29, 2026
e1c9728
Do not disable recursive minimisation when proof logging
maartenflippo Mar 29, 2026
5be0213
Fix compile error
maartenflippo Mar 29, 2026
0194f65
Work around assumptions by introducing them as initial domains
maartenflippo Mar 29, 2026
9f3cc2f
Allow inconsistent premises in the deduction
maartenflippo Mar 29, 2026
ce38731
feat: setup for removing elements during conflict analysis
ImkoMarijnissen Mar 30, 2026
69e6e7c
feat: adding statistics
ImkoMarijnissen Mar 30, 2026
a6cdcb4
fix: time-table checker not passing with holes
ImkoMarijnissen Mar 30, 2026
0fd347b
Merge branch 'fix/time-table-checker' into feat/minimisation-during-ca
ImkoMarijnissen Mar 30, 2026
b99b962
fix: swapping around of values
ImkoMarijnissen Mar 30, 2026
3f99bf2
Merge branch 'fix/time-table-checker' into feat/minimisation-during-ca
ImkoMarijnissen Mar 30, 2026
2c70913
Revert "fix: swapping around of values"
ImkoMarijnissen Mar 31, 2026
a34897a
fix: remove instead of add
ImkoMarijnissen Mar 31, 2026
ad663ad
Merge branch 'fix/time-table-checker' into feat/minimisation-during-ca
ImkoMarijnissen Mar 31, 2026
954aba4
feat: replacing predicates with new predicates + improving statistic …
ImkoMarijnissen Mar 31, 2026
376f4da
Merge branch 'main' into feat/minimisation-during-ca
ImkoMarijnissen Mar 31, 2026
3df8f04
feat: add flag for running with iterative minimisation
ImkoMarijnissen Mar 31, 2026
49b50f2
chore: left over files
ImkoMarijnissen Mar 31, 2026
fefee6a
feat: initial attempt at making minimisation during ca more efficient
ImkoMarijnissen Mar 31, 2026
e737f83
WIP: making progress
ImkoMarijnissen Mar 31, 2026
ec13f55
fix: logging root-level deductions when inferring redundancy
ImkoMarijnissen Apr 1, 2026
787449b
fix: logging more root-level inferences + remove predicate from itera…
ImkoMarijnissen Apr 1, 2026
d2f0739
Merge branch 'main' into feat/minimisation-during-ca
ImkoMarijnissen Apr 1, 2026
ac03d34
chore: clippy warnings
ImkoMarijnissen Apr 1, 2026
479b5e4
chore: clippy warnings duplicate crate
ImkoMarijnissen Apr 1, 2026
7de5ba3
docs: adding documentation
ImkoMarijnissen Apr 1, 2026
f95f127
fix: only log in proof when necessary
ImkoMarijnissen Apr 1, 2026
607659d
chore: remove unnecessary logging of unset parameters
ImkoMarijnissen Apr 1, 2026
61f2253
fix: hole update after removing lower or upper-bound
ImkoMarijnissen Apr 1, 2026
081a5c7
docs: adding documentation to iterative minimiser
ImkoMarijnissen Apr 2, 2026
699c6af
refactor: changing to variable state
ImkoMarijnissen Apr 2, 2026
0cc079b
refactor: allow removing of multiple elements at once
ImkoMarijnissen Apr 2, 2026
99c1150
refactor: do not allocate or reset when unnecessary
ImkoMarijnissen Apr 2, 2026
606834c
refactor: also remove not equals when introducing lower-bound
ImkoMarijnissen Apr 3, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 35 additions & 10 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions clippy.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,6 @@ allowed-duplicate-crates = [
"windows-sys",
"regex-syntax",
"regex-automata",
"anstream",
"anstyle-parse"
]
12 changes: 9 additions & 3 deletions pumpkin-crates/checking/src/variable_state.rs
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,10 @@ impl<Atomic> VariableState<Atomic>
where
Atomic: AtomicConstraint,
{
pub fn reset_domain(&mut self, identified: Atomic::Identifier) {
let _ = self.domains.insert(identified, Domain::all_integers());
}

/// Create a variable state that applies all the premises and, if present, the negation of the
/// consequent.
///
Expand Down Expand Up @@ -308,9 +312,11 @@ impl Domain {

self.upper_bound = IntExt::Int(bound);

// Note the '+ 1' to keep the elements <= the upper bound instead of <
// the upper bound.
let _ = self.holes.split_off(&(bound + 1));
if bound < i32::MAX {
// Note the '+ 1' to keep the elements <= the upper bound instead of <
// the upper bound.
let _ = self.holes.split_off(&(bound + 1));
}

// Take care of the condition where the new bound is already a hole in the domain.
if self.holes.contains(&bound) {
Expand Down
1 change: 1 addition & 0 deletions pumpkin-crates/conflict-resolvers/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,4 @@ workspace = true

[dependencies]
pumpkin-core = { version = "0.3.0", path = "../core" }
pumpkin-checking = { version = "0.3.0", path = "../checking" }
Loading
Loading