2025-12-18  Antonio Cau  <cau.researcher@gmail.com>

	* Makefile: updated to reflect the various changes below.

	* flcheck_macos, flcheck_linux64, flcheck_win64.exe: standalone
	binaries for respectively MacOS, Linux 64bit (Ubuntu) and Windows 64
	bit. These are generated using tclkit.

	* cudd-regression, buddy-regression: new files, regression tests
	running all the examples in respectively CUDD or BuDDy mode.

	* policy_library.tcl: updated using new grammar for FL.

	* stdio-flux.in, stdio-policy-enf-left.in:
	* stdio-policy-enf-right.in, stdio-policy-keys-left-1.in:
	* stdio-policy-keys-left-new.in, stdio-policy-keys-left.in:
	* stdio-policy-keys-right-1.in, stdio-policy-keys-right.in:
	* stdio-policy-ver-left.in, stdio-policy-ver-right.in:
	* stdio-regression-past.in, stdio-regression.in, stdio-test.in:
	new file, for running the corresponding examples in stdio mode.

	* test-flux.tcl: new file, example with finite and infinite intervals.

	* example-policy-rule.tcl, example-policy-verification-left.tcl:
	* example-policy-verification-right.tcl:
	* example-policy-enforcement-left.tcl:
	* example-policy-enforcement-right.tcl:
	* example-policy-keys-left-new.tcl, example-policy-keys-left.tcl:
	* example-policy-keys-right.tcl, example-policy-keys-left-1.tcl:
	* example-policy-keys-right-1.tcl: updated using new grammar for
	FL.

	* example-small.tcl: new file, example using past time operators of FL.

	* example-small.tcl: updated using new grammar for FL.

	* itl-fl.pdf: updated with new semantics for FL. The previous
	version is renamed itl-fl-old.pdf.

	* Readme: updated with information from the help section.

2025-12-12  Antonio Cau  <cau.researcher@gmail.com>

	* flcheck.tcl:

	strl ttk theme: updated using the one from anatempura

	history: adapted to use the text widget

	c_fe: is only for future fusion expressions, updated to latest grammar.

	c_pfe: new, for past fusion expressions.

	is_state: use regexp command to determine whether a formula is a state formula.

	is_past: new, used to determine whether a formula is a past formula.

	is_future: new, used to determine whether a formula is a future formula.

	reverse_pl: renamed to reverse_fl, used to reverse both past and future formula.

	reverse_fe: used to reverse future fusion expressions.

	reverse_pfe: new, used to reverse past fusion expressions.

	reverse_tr: renamed to reverse_ftr, used to reverse future transitions.

	reverse_ptr: new, used to reverse past transitions.

	state_sanitise: new, used to transform a state formula using only
	Or, And, Eqv, Imp and Not.

	state_to_flstate: new,  convert a state formula into a reduce_state form.

	tr_to_ptr: new, convert a future transition formula into past transition formula.

	ptr_to_tr: new, convert a past transition formula into future transition formula.

	reduce_state: updated to latest fusion logic grammar.

	reduce_transition: updated to latest fusion logic grammar.

	prev_sub_next: new, transform a PL^1 formula into NL^1 formula.

	next_sub_replace: updated to latest future transition grammar.

	prev_sub_replace: new, used for past transitions.

	next_sub: updated, to latest future transition grammar.

	prev_sub: new, used for past transitions.

	next_sub_false: updated to latest future transition grammar.

	extract_var_indep: new, extract the independent variables used in a formula.

	extract_var_dep: new, extract the dependent variables used in a formula.

	tree2bdd: added rules to simplify a formula, like for instance 'true and true' to true.

	input_to_trace: updated, as now '(' and ')' are used.

	openfile: added cudir to keep track of current directory, added user feedback
	that a file has been opened.

	load_file: added curfile and curdir, to keep track of current file and directory.

	watchfile: new, to determine whether a file has changed, not used yet.

	check_file: added nodisplay, more user feedback.

	check_batch: new, not used.

	toggle_dbg: new, to toggle the debug option.

	savefile: new, to save the output of FLCHECK.

	dbgsavefile: new, to save the debug output of FLCHECK.

	newdir: new, to set current directory.

	convertfilename: new, doesn't do much...

	setTooltip: new, set tool tips.

	showTooltip: new, show tool tips.

	flcheckWindow.: do not set maximum size of window.

	GetSelection: to select part of output window.

	flcheckWindow.top18:

	added tdebug and writing to toggle debug information and
	check whether we currently writing to output.

	added that closing window will terminate FLCHECK.

	added that for macos we have extra handling of File menu.

	added OPEN, SAVE, CLEAR, DEBUG, DBGCLR, DBG SAVE and debug toggle buttons.

	input is now in from the output widget.

	added popup menu for cut, copy and paste.

	added debug tab.

	added key presses for increasing and decreasing of font size.

	added handling code for input from the output window.

	bump_fonts: to increase or decrease font size.

	o_clearnc: new, to clear the output.

	d_clearnc: new, to clear debug output.

	insert_debug: new, to display debug information.

	check:

	added variables deplist, deplistp, pdeplist, LivenessOffsets, LivenessTests,
	infinite, dbg, reduce_error, stdio and tdebug.

	deplist: list of future dependencies.
	deplistp: list of past dependencies.
	pdeplist: list of past dependencies transformed into future dependencies.
	LivenessOffsets and LivenessTests: to help with infinite intervals.
	infinite: whether we have finite or infinite intervals
	reduce_error: whether we have an error in the reduction.
	dbg: whether to show or not to show debug information.
	tdebug: status of debug toggle.

	when in enforcing mode we need to reverse a past formula.

	for validity we do the complentation at formula level not at bdd level.

	in case of past time operators we need to perform additional transformation steps.

	in case of infinite intervals we need additional transformation steps.

	more robust way of extracting independent and dependent variables.

	gamma_1, gamma_2 and gamma_3 are split into p_gamma_1, p_gamma_2, p_gamma_3 and
	f_gamma_1, f_gamma_2, f_gamma_3.

	split invariant_length into f_invariant_length and p_invariant_length.

	added checks for satisfiability and validity of formula with infinite intervals.

	show_help: updated help information, new grammar for fusion logic and
	additional operators.

	get_stdin: new, handler for console input when in stdio mode.

	main: new, handling of options and setting of gui parameters.

	remove linux 32 bits support.

2025-10-06  Antonio Cau  <cau.researcher@gmail.com>

	* fusion_logic_derived.tcl:

	Added more derived future fusion expressions using 'op'_r_e and
	'op'_e form of notation. Added derived past fusion expressions
	(time dual) using 'op'_l_e form of notation.

	Added more derived future fusion logic formulae using 'op'_r and
	'op' form of notation. Added derived past fusion logic operators
	(time dual) using 'op'_l form of notation.

	* fusion_logic_commands.tcl: updated to reflect the new grammar of
	fl.

	* fusion_logic.tac, scanner_fusion_logic.fcl:

	In the language use '(' and ')' as brackets for scoping instead of
	'{' and '}' as the latter are used in TCL.

	In grammar rules for cfl: added vld_i and sat_i for infinite time.

	Added until, since, next, prev, equiv and imp operators to fl.

	Removed grammar rules for pl these are now rules for past time
	operators in fl.

	In fe (future fusion expressions) added init, fin, iand and fand
	operators.

	Added pfe (past fusion expressions) the time dual of fe used in
	the past chop of fl.

	In tr (future transitions) added equiv and imp operators.

	Added ptr (past transitions) the time dual of tr used in pstep
	(past step) of fl.

	In st added equiv and imp operators.

	* cudd.tcl: in Init-data-manager enable reordering reporting.

	Added Shuffle, init_my_basic_vars_infinite, init_my_liveness_vars,
	shuffle_variables, analyse_initial_segment_mode,
	print_initial_segment_model, compute_periodic_segment_model,
	print_periodic_segment_model, check_node_stats_infinite,
	invariant_infinite.

	In invariant: in arguments replaced invariant_length by
	p_invariant_length and f_invariant_length, added f_Init, replaced
	Rho by p_Rho and f_Rho, and Tau by p_Tau and f_Tau. Use
	p_invariant_length and f_invariant_length to compute
	invariant_length, use p_Rho and f_Rho to compute Rho, use p_Tau
	and f_Tau to compute Tau.

	Added num_vars and dbg to variable list.

	Reverse satisfiability is now 6 (Note: this is not used anymore).
	Reverse vaidity is now 7 (Note: this is not used anymore).

	Added pj  for determining how many past states are in
	the model. Added code for this.

	Added code for debugging information.

	In output of (counter)-model also states the number of past states
	(if any) and the current state.

	* cudd_tcl.i: added 'array' procedures for accessing C array of
	integers from TCL, needed to define shuffle operation. Added extra
	include as version 3.0.0 needs them. In Cudd_NotCond use _Bool
	instead of unsigned init c:1.

	* buddy.tcl: added Shuffle, init_my_basic_vars_infinite,
	init_my_liveness_vars, shuffle_variables,
	analyse_initial_segment_mode, print_initial_segment_model,
	compute_periodic_segment_model, print_periodic_segment_model,
	check_node_stats_infinite,  invariant_infinite.

	In invariant: in arguments replaced invariant_length by
	p_invariant_length and f_invariant_length, added f_Init, replaced
	Rho by p_Rho and f_Rho, and Tau by p_Tau and f_Tau. Use
	p_invariant_length and f_invariant_length to compute
	invariant_length, use p_Rho and f_Rho to compute Rho, use p_Tau
	and f_Tau to compute Tau.

	Added num_vars and dbg to variable list.

	Reverse satisfiability is now 6 (Note: this is not used anymore).
	Reverse vaidity is now 7 (Note: this is not used anymore).

	Added pj for determining how many past states are in
	the model. Added code for this.

	Added code for debugging information.

	When determining (counter)-model in the swao use bpair as BuDDy's
	swap is only in one direction.

	In output of (counter)-model also states the number of past states
	(if any) and the current state.

	* buddy_tcl.i: added 'array' procedures for accessing C array of
	integers from TCL, needed to define shuffle operation.

2025-08-10  Antonio Cau  <cau.researcher@gmail.com>

	* buddy-2.4: updated configure.ac to version 2.72, updated
	automake related files.

	* buddy-2.4/src/reorder.c: bdd_reorder_auto, changed
	bdd_reorder_ready to bdd_reorder_ready() to silence warning/error.

	* example-small.tcl: test_for_1, changed using correct syntax for fusion expression.

2025-08-09  Antonio Cau  <cau.researcher@gmail.com>

	* Makefile: bumped version to 2.0; use cudd-3.0.0; PSRC based on cudd-3.0.0;
	added $(CU)/config.h rule.

	* cudd-3.0.0: directory containing version 3.0.0 of CUDD.

	* cuddDot.c: based on Cudd_DumpDot of  cudd-3.0.0.

	* cudd_tcl.i: changed to use cudd-3.0.0.

	* scanner_fusion_logic.fcl: have sat and vld as alias for respectively sat_r and vld_r.

2015-05-22  Antonio Cau  <cau.researcher@gmail.com>

	* flcheck_linux, flcheck_linux64, flcheck.exe, flcheck_macosx:
	regenerated using kbs-0.4.6 except flcheck.exe which was generated
	by kbs-0.4.5 as kbs-0.4.6 is broken under mingw.

	* update year in copyright notice in all files.

2014-09-30  Antonio Cau  <cau.researcher@gmail.com>

	* flcheck_linux, flcheck_linux64, flcheck.exe, flcheck_macosx:
	regenerated.

2014-09-29  Antonio Cau  <cau.researcher@gmail.com>

	* flcheck.tcl: when a tab is selected the widget is updated
	immediately.

2014-09-23  Antonio Cau  <cau.researcher@gmail.com>

	* flcheck_linux, flcheck_linux64, flcheck.exe, flcheck_macosx:
	regenerated.

	* flcheck.tcl: fixed bug when using certain font specifications.

	* flcheck.tcl, Makefile: On MacOSX we have dylib instead of so.

2014-09-17  Antonio Cau  <cau.researcher@gmail.com>

	* flcheck_linux, flcheck_linux64, flcheck.exe, flcheck_macosx: TCL
	starkits executables for Linux (Ubuntu 14.04, 32 bit), Linux 64
	(Ubuntu 14.04), Windows (Windows 7) and MacOSX (Mavericks).

2014-09-13  Antonio Cau  <cau.researcher@gmail.com>

	* flcheck.tcl: changed default font to Courier size 14.

2014-09-12  Antonio Cau  <cau.researcher@gmail.com>

	* flcheck.tcl: ttk::entry is not updating frequently enough
	especially on MacOSX, added an `update idletasks` for any key
	that is released in the widget.

2014-09-11  Antonio Cau  <cau.researcher@gmail.com>

	* Makefile, flcheck_macosx, macosx, flcheck.tcl: added support for
	MACOSX.

2013-07-04  Antonio Cau  <acau@dmu.ac.uk>

	* Makefile, flcheck_solaris, solaris/, flcheck.tcl: drop support
	for Sparc Solaris.

2013-01-29  Antonio Cau  <acau@dmu.ac.uk>

	* Makefile: updated to cater for TCL starkits.

	* flcheck_linux, flcheck_linux64, flcheck.exe, flcheck_solaris:
	TCL starkits for Linux (Ubuntu 12.04, 32 bit), Linux (Ubuntu
	12.04, 64 bit), Windows (Windows 7), Sparc Solaris (Solaris 10).

2013-01-28  Antonio Cau  <acau@dmu.ac.uk>

	* flcheck.tcl: loading of cudd or buddy libraries works now also
	within a TCL starkit.

	* flcheck.tcl, fusion_logic.tac, fusion_logic.tcl,
	scanner_fusion_logic.tcl, scanner_fusion_logic.fcl, flcheck.tcl:
	changed source call so that they work from within a TCL starkit.

	* flcheck.tcl: load_file when loading a library we need to do this
	wrt to the directory of the current file.

	* Makefile: make cudd_tcl.so and buddy_tcl.so stub enabled so that
	they can be used within a TCL starkit.

2013-01-23  Antonio Cau  <acau@dmu.ac.uk>

	* linux/cudd_tcl.so: regenerated.

	* Makefile: updated to use cudd-2.5.0.

	* bumped version to 1.1.

	* policy_library.tcl: simplified the definition of the `left always
	followed by' operators.

2013-01-15  Antonio Cau  <acau@dmu.ac.uk>

	* linux/buddy_tcl.so,linux/cudd_tcl.so: regenerated for UBUNTU
	12.04 32 bit machine.

	* linux64/buddy_tcl.so,linux64/cudd_tcl.so: regenerated for UBUNTU
	12.04 64 bit machine.

	* example-policy-rule.tcl: example of policy rule. Same example
	is coded in DCVALID and PITL2MONA.

2012-12-13  Antonio Cau  <acau@dmu.ac.uk>

	* Readme: updated.

	* Makefile: updated with new file

	* example-small.tcl: added example from Fisher, M., Dixon, C., and
	Peim, M.  Clausal Temporal Resolution, ACM Transactions on
	Computational Logic, volume 2, number 1, January 2001.

	* example-policy-keys-left-new.tcl: new example of enforcement
	that depend on history.

2012-01-23  Antonio Cau  <acau@dmu.ac.uk>

	* Readme: updated.

	* Makefile: updated with new files

	* flcheck.tcl: change command line options to buddy, file,
	i_enf_l, i_enf_r, sat_l, sat_r, vld_l, vld_r, enf_l, enf_r.

	* fusion_logic_derived.tcl: always_l was buggy.

	* policy_library.tcl: renamed all policy rule constructs and
	introduced left and right version of them.

	* scanner_fusion_logic.fcl: changed syntax, left satisfiability
	(sat_l), left validity (vld_l), left enforcement (enf_l), left
	interactive enforcement (i_enf_l), right satisfiability
	(sat_r), right validity (vld_r), right enforcement (enf_r), right
	interactive enforcement (i_enf_r).

	* example-policy-verification-left.tcl,
	example-policy-verification-right.tcl: example of verification of
	properties for access control policies using left respectively
	right fusion logic.

	* example-policy-keys-left-1.tcl, example-policy-keys-right-1.tcl:
	example of enforcement of history (at least 2 states) based access
	control policies using left respectively right fusion logic.

	* example-policy-keys-left.tcl, example-policy-keys-right.tcl:
	example of enforcement of history based access control policies
	using left respectively right fusion logic.

	* example-policy-enforcement-left.tcl,
	example-policy-enforcement-right.tcl: example of enforcement of
	access control policies using left respectively right fusion
	logic.

2012-01-09  Antonio Cau  <acau@dmu.ac.uk>

	* cudd.tcl. buddy.tcl: procedure p_i_enforce for interactive
	enforcement of time reversed left formula.

	* cudd.tcl. buddy.tcl: procedure p_enforce for enforcement of time
	reversed left formula wrt to an input trace.

	* cudd.tcl. buddy.tcl: procedure invariant added satisfaction and
	validity of time reversed formulae.

	* policy_library.tcl: added always followed by rule as a left
	fusion logic formula.

	* fusion_logic_derived.tcl: added derived left fusion logic
	operators.

	* scanner_fusion_logic.fcl, fusion_logic.tac: update fusion syntax
	logic syntax to include left fusion logic formulae.

	* flcheck.tcl: in procedure check $check=4,5,6,7 represent
	respectively satisfaction, validity, interactive enforcement and
	enforcement wrt an input trace.

	* flcheck.tcl: reverse_pl, reverse_fe, reverse_tr are procedures
	to time reverse left fusion logic formulae.

	* example-policy-enforcement.tcl, example-policy-keys.tcl,
	example-policy-verification.tcl, example-small.tcl: new files
	replacing example.tcl and example-1.tcl

2010-02-18  Antonio Cau  <acau@dmu.ac.uk>

	* flcheck.tcl: tclsh8.5 instead of tclsh.

2010-01-20  Antonio Cau  <acau@dmu.ac.uk>

	* flcheck.tcl: commented out the v1 reduction routines.

	* Readme, flcheck.tcl, example-1.tcl,  fusion_logic_derived.tcl,
	example.tcl: allow still the old syntax `[false]' and `[and A B]'.

	* flcheck.tcl: `reduce_state' and `reduce_transition' be careful
	about inserting `{}'.

2010-01-19  Antonio Cau  <acau@dmu.ac.uk>

	* flcheck.tcl: changed `reduce_state' and `reduce_transition' to
	accommodate new syntax.

	* example.tcl, example-1.tcl: use new syntax of `and'.

	* fusion_logic.tac, scanner_fusion_logic.fcl,
	fusion_logic_commands.tcl, Readme, fusion_logic_derived.tcl:
	changed syntax of FL to allow `and' and `false' to be
	primitives. Furthermore `st and fe' and `fe and st' are allowed as
	fusion expressions.

2010-01-18  Antonio Cau  <acau@dmu.ac.uk>

	* Makefile: bumped version to 0.9

2010-01-15  Antonio Cau  <acau@dmu.ac.uk>

	* flcheck.tcl: when sorting the used variables use the proper sort
	(-dictionary).

2010-01-14  Antonio Cau  <acau@dmu.ac.uk>

	* *.tcl: changed to LGPL copyright.

	* itl-fl.pdf: added example for reduction v2 and corrected some
	typos.

	* Readme: added '04 JANCL paper of Ben

2010-01-12  Antonio Cau  <acau@dmu.ac.uk>

	* Readme: added files section.

2009-12-18  Antonio Cau  <acau@dmu.ac.uk>

	* flcheck.tcl, buddy.tcl, cudd.tcl: added comments to key functions

2009-12-16  Antonio Cau  <acau@dmu.ac.uk>

	* flcheck.tcl: added help tab which displays the Readme.

	* itl-fl.pdf: added desciption of reduction step v2 that
	introduces fewer auxiliary variables and is currently used in
	flcheck.tcl (old reduction step is still included in flcheck.tcl).

2009-12-15  Antonio Cau  <acau@dmu.ac.uk>

	* windows/cudd_tcl.dll: regenerated

	* linux/cudd_tcl.so: regenerated

	* linux64/cudd_tcl.so: regenerated

	* solaris/cudd_tcl.so: regenerated

	* itl-fl.pdf: added as technical documentation of
	decision procedure  and enforcement technique of fusion logic.

	* example-1.tcl: fusion logic example

	* example.tcl: policy example

	* policy_library.tcl: library of policy constructs

	* fusion_logic_derived.tcl: now only contains derived operators

	* flcheck.tcl: added menu with open and exit

	* cudd_tcl.i, cudd_java.i: use cudd-2.4.2

	* cuddDot.c: merge with changes from cudd-2.4.2

	* Makefile: use new cudd release

	* cudd-2.4.2: new release

	* Readme: new file

	* Changelog: new file, start recording changes

