Rodin Platform 3.8 Release Notes
What's New in Rodin 3.8?
Rodin 3.8 brings several bug fixes. It also upgrades the underlying Eclipse to 4.23 (2022-03), which can be run by Java 11 Runtimes.
Please note that we only provide 64-bit binary versions of the Rodin platform.
Changes for plug-in developers
Rodin 3.8 is built on top of Eclipse 4.23 (2022-03), which requires Java 11.
There is no API change within Rodin Core.
Installing
Downloading
Upgrading from a previous version of Rodin 3.x
If you run Rodin 3.1, 3.2, 3.3, 3.4, 3.5, 3.6 or 3.7, then you can upgrade your Rodin Platform by clicking Help > Check for Updates, then select Rodin 3.8 in the popup window and accept the licence terms. Note that the upgrading process can take quite a long time.
Take care that Rodin 3.8 brings a new version of Eclipse. This means that once you have opened a workspace with Rodin 3.8, you will not be able to open it with a prior version of Rodin anymore. Please consider copying your workspace for Rodin 3.8 to avoid any disaster.
If you run Rodin 3.0 or prior, you cannot upgrade to 3.8. You need to download the platform from SourceForge and reinstall your external plugins.
Requirements - Compatibility
Supported operating systems
Rodin will work on the following operating systems
- macOS 64-bit
- Linux 64-bit
- Windows 64-bit
Java Runtime requirement
You need to have a 64-bit Java JRE (version 11 or later) installed on your computer. The Rodin application will not work with a previous version or with a 32-bit JRE.
macOS specific requirements
The Rodin application is not notarized. This means that when you download it from SourceForge, macOS will quarantine the application and tell you that it is broken. Just run the command xattr -rc Rodin.app
in a Terminal to remove the quarantine tag.
Linux specific requirements
Package libc6-amd64:i386
must be installed, in particular in order to run external prover binaries depending on the distribution, you could instead need these packages: lib32z1
, lib32ncurses5
, lib32bz2-1.0
.
Windows specific requirements
Atelier B provers may work more slowly; it can cause ML to not automatically discharge some sequents that it discharges on windows 32-bit, due to its timeout. A workaround is to download a custom profile: DefaultAuto_ML800, then Window > Preferences > Event-B > Sequent Prover > Auto/Post Tactic > Profiles (tab) > Import..., point to the downloaded file, 'Select All' profiles (there are 2), OK. Then in 'Auto/Post Tactic' tab, select 'Default Auto Tactic Profile (ML 800)' profile for auto-tactics. It is the same as the 'Default Auto Tactic Profile', except ML has a longer timeout (800 ms). You can of course change this timeout by editing the 'ML (800)' profile.
We have not noticed this problem for Linux 64-bit, nor for other platforms; however if you do, the same workaround applies.
Math fonts
To enhance your proving experience, the eclipse font settings (size, aspect...) are available from the preferences (General > Appearance > Colors and Fonts > Rodin). These settings allow you to modify the properties set on the Event-B Keyboard Text Font which is used in many views of the Proving UI. However, to enjoy these functionalities, you need to install the Brave Sans Mono font on your system. You can download this font from the link here.
Fixed Bugs and Implemented Features
Bugs
701: Translation occurs unexpectedly 778: Bad presentation of tactic profiles 802: refresh Project Explorer 803: rule DATATYPE_INDUCTION is unsound 804: FormulaExtensionProviderRegistry does not catch exceptions 805: IAE when loading proof 806: Missing UI indicator when running post tactic 807: Proof information view text cut off 809: store options files in binary plug-ins 811: hypothesis text cut off after instantiation input 812: dropdown arrow invisible in Event-B editor on macOS 813: Missing translation in input area of Proof control 814: ArrayIndexOutOfBounds when typing extended predicates 816: ConcurrentModificationException in editor 817: Exception when using external provers with theory...
Feature Requests
170: Bijection and cardinality 292: Make FiniteHypBoundedGoal smarter 339: Add auto tactic for not empty set 343: Generalized Modus Ponens on natural integers 342: Generalized Modus Ponens on Boolean expressions 365: Proof rule for finiteness of generalized union 367: extend IParent in ISCContext 371: apply equality and hide it 372: Proof by case on union membership 376: Min and max definitions 377: Apply modus ponens after instantiation 382: Get free identifiers from a type environment
Known Issues
See known bugs on SourceForge.
Rodin is not notarized
Apple asks that all applications are notarized before they can be run since macOS Mojave. Unfortunately, we did not have time to put this in place for Rodin 3.8. We expect this to be solved for Rodin 3.9. See macOS requirements for a workaround.
About
TODO