diff --git a/de.bmotionstudio.gef.editor/META-INF/MANIFEST.MF b/de.bmotionstudio.gef.editor/META-INF/MANIFEST.MF
index aa5115eb57aa0e9ad42b70fd8feebcb98dfd0e6f..7c1bd05368b39026014ea217f3100dfae721f143 100644
--- a/de.bmotionstudio.gef.editor/META-INF/MANIFEST.MF
+++ b/de.bmotionstudio.gef.editor/META-INF/MANIFEST.MF
@@ -14,7 +14,7 @@ Require-Bundle: org.eclipse.ui;bundle-version="[3.5.0,4.0.0)",
  org.eclipse.core.databinding.beans;bundle-version="[1.1.1,2.0.0)",
  org.eclipse.gef;bundle-version="[3.7.0,4.0.0)",
  de.prob.core;bundle-version="[9.1.0,9.2.0)",
- org.eventb.core;bundle-version="[2.1.0,2.4.0)"
+ org.eventb.core;bundle-version="[2.1.0,2.5.0)"
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Eclipse-BuddyPolicy: registered
diff --git a/de.prob.core/META-INF/MANIFEST.MF b/de.prob.core/META-INF/MANIFEST.MF
index 8cb6e29fca551c07f9282b3619035125fe0e95ab..6fa716e04c19b8434672016fa59502080807e286 100644
--- a/de.prob.core/META-INF/MANIFEST.MF
+++ b/de.prob.core/META-INF/MANIFEST.MF
@@ -5,7 +5,7 @@ Bundle-SymbolicName: de.prob.core;singleton:=true
 Bundle-Version: 9.1.2
 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)",
  org.rodinp.core;bundle-version="[1.3.1,1.6.0)",
- org.eventb.core;bundle-version="[2.1.0,2.4.0)"
+ org.eventb.core;bundle-version="[2.1.0,2.5.0)"
 Bundle-ActivationPolicy: lazy
 Bundle-Vendor: HHU Düsseldorf STUPS Group
 Export-Package: de.be4.classicalb.core.parser,
diff --git a/de.prob.core/prob/linux/build_info.txt b/de.prob.core/prob/linux/build_info.txt
index 369f2716f8a39a6014b47834fd38991c9cd06591..f107787dc1bd23605ac9c7c8dfad51e60086fd97 100644
--- a/de.prob.core/prob/linux/build_info.txt
+++ b/de.prob.core/prob/linux/build_info.txt
@@ -1,4 +1,4 @@
 
-		Revision: 8306
-		June 28 2011 - 2001
+		Revision: 9938
+		January 17 2012 - 2002
      
\ No newline at end of file
diff --git a/de.prob.core/prob/linux/lib/graphiso.so b/de.prob.core/prob/linux/lib/graphiso.so
old mode 100755
new mode 100644
index 4e4b3a451559da7efc4fc68e4d3c237d3a18ec95..3acdacef777db56f40f83515a67739d9f839edbe
Binary files a/de.prob.core/prob/linux/lib/graphiso.so and b/de.prob.core/prob/linux/lib/graphiso.so differ
diff --git a/de.prob.core/prob/linux/lib/ltlc.so b/de.prob.core/prob/linux/lib/ltlc.so
old mode 100755
new mode 100644
index 310e63a78bd490e0269b69a3b27a391c4048c9bb..8082c639829d994d19efb2122b0ed31ad7975c75
Binary files a/de.prob.core/prob/linux/lib/ltlc.so and b/de.prob.core/prob/linux/lib/ltlc.so differ
diff --git a/de.prob.core/prob/linux/lib/user_signal.so b/de.prob.core/prob/linux/lib/user_signal.so
old mode 100755
new mode 100644
index 634025d44f39b3585d17b4966305f1444c94b295..38f598bf247fc84eeedacd22d02571c4bd388676
Binary files a/de.prob.core/prob/linux/lib/user_signal.so and b/de.prob.core/prob/linux/lib/user_signal.so differ
diff --git a/de.prob.core/prob/linux/probcli b/de.prob.core/prob/linux/probcli
old mode 100755
new mode 100644
index 5e8e0202d9217d1e985fcdbe04be7ea9910e0271..cb76a450c9863b9425c7aee5eb663d0b53752dd0
Binary files a/de.prob.core/prob/linux/probcli and b/de.prob.core/prob/linux/probcli differ
diff --git a/de.prob.core/prob/linux/send_user_interrupt b/de.prob.core/prob/linux/send_user_interrupt
old mode 100755
new mode 100644
index c5daa025c2be077b11d0854b839a7dd5f33032c6..7f321c3ee9935ddfe83ec8d717b36bc826893ff6
Binary files a/de.prob.core/prob/linux/send_user_interrupt and b/de.prob.core/prob/linux/send_user_interrupt differ
diff --git a/de.prob.core/prob/linux64/build_info.txt b/de.prob.core/prob/linux64/build_info.txt
new file mode 100644
index 0000000000000000000000000000000000000000..11b9fcfa1f566bd1e991c87defcab521fa9a96f9
--- /dev/null
+++ b/de.prob.core/prob/linux64/build_info.txt
@@ -0,0 +1,4 @@
+
+		Revision: 9938
+		January 17 2012 - 1948
+     
\ No newline at end of file
diff --git a/de.prob.core/prob/linux64/lib/graphiso.so b/de.prob.core/prob/linux64/lib/graphiso.so
new file mode 100644
index 0000000000000000000000000000000000000000..ba2a5cbe43f72a5d77fcb1389527a9f5630b1d40
Binary files /dev/null and b/de.prob.core/prob/linux64/lib/graphiso.so differ
diff --git a/de.prob.core/prob/linux64/lib/ltlc.so b/de.prob.core/prob/linux64/lib/ltlc.so
new file mode 100644
index 0000000000000000000000000000000000000000..9ffd67c1afac43c6a40f55d791562b34816915a7
Binary files /dev/null and b/de.prob.core/prob/linux64/lib/ltlc.so differ
diff --git a/de.prob.core/prob/linux64/lib/user_signal.so b/de.prob.core/prob/linux64/lib/user_signal.so
new file mode 100644
index 0000000000000000000000000000000000000000..321b53945170582d452ea331b8446cb695c68615
Binary files /dev/null and b/de.prob.core/prob/linux64/lib/user_signal.so differ
diff --git a/de.prob.core/prob/linux64/probcli b/de.prob.core/prob/linux64/probcli
new file mode 100644
index 0000000000000000000000000000000000000000..911582d99d46e001688e4706f051a0d739e54225
Binary files /dev/null and b/de.prob.core/prob/linux64/probcli differ
diff --git a/de.prob.core/prob/linux64/probcli.sh b/de.prob.core/prob/linux64/probcli.sh
new file mode 100644
index 0000000000000000000000000000000000000000..9611d3df6b8a0d0b2799921cc4fa5ca6a55bb41b
--- /dev/null
+++ b/de.prob.core/prob/linux64/probcli.sh
@@ -0,0 +1,18 @@
+#!/bin/bash
+PROBCOMMAND=probcli
+INTERRUPT_COMMAND=send_user_interrupt
+
+
+# Shell wrapper for PROBCOMMAND
+
+echo "Running ProB Command-line Interface"
+echo "$PROBCOMMAND" "$@"
+
+# dirname
+dirname=`dirname "$0"`
+
+ulimit -d unlimited
+
+chmod a+x "$dirname/$PROBCOMMAND"
+chmod a+x "$dirname/$INTERRUPT_COMMAND"
+exec "$dirname/$PROBCOMMAND" "$@"
diff --git a/de.prob.core/prob/linux64/send_user_interrupt b/de.prob.core/prob/linux64/send_user_interrupt
new file mode 100644
index 0000000000000000000000000000000000000000..7dc8be7365939c369e93830b85a02212024c9c8a
Binary files /dev/null and b/de.prob.core/prob/linux64/send_user_interrupt differ
diff --git a/de.prob.core/prob/macos/build_info.txt b/de.prob.core/prob/macos/build_info.txt
index ce200c097fd45a4ca89648394971783695c007f1..f107787dc1bd23605ac9c7c8dfad51e60086fd97 100644
--- a/de.prob.core/prob/macos/build_info.txt
+++ b/de.prob.core/prob/macos/build_info.txt
@@ -1,4 +1,4 @@
 
-		Revision: 8306
-		June 28 2011 - 2002
+		Revision: 9938
+		January 17 2012 - 2002
      
\ No newline at end of file
diff --git a/de.prob.core/prob/macos/lib/graphiso.bundle b/de.prob.core/prob/macos/lib/graphiso.bundle
old mode 100755
new mode 100644
index de34ec7f197755bfa519f234a98abf72a1cb70b5..fdd67300b6260bc98ac9cf3437dcf58f373078e8
Binary files a/de.prob.core/prob/macos/lib/graphiso.bundle and b/de.prob.core/prob/macos/lib/graphiso.bundle differ
diff --git a/de.prob.core/prob/macos/lib/ltlc.bundle b/de.prob.core/prob/macos/lib/ltlc.bundle
old mode 100755
new mode 100644
index c9ca5e94f707086a7364c3bd8b4e878e79a7daaf..30fca6092ba337e873d441ccc84bb8dcc48f81e1
Binary files a/de.prob.core/prob/macos/lib/ltlc.bundle and b/de.prob.core/prob/macos/lib/ltlc.bundle differ
diff --git a/de.prob.core/prob/macos/lib/user_signal.bundle b/de.prob.core/prob/macos/lib/user_signal.bundle
old mode 100755
new mode 100644
index dade658ef1d82ac0e5bfcb32baeea1bebc6d1f95..0f9237b7936ba91ca2cefc88de607103e553700e
Binary files a/de.prob.core/prob/macos/lib/user_signal.bundle and b/de.prob.core/prob/macos/lib/user_signal.bundle differ
diff --git a/de.prob.core/prob/macos/probcli b/de.prob.core/prob/macos/probcli
old mode 100755
new mode 100644
index bb7f3fb16b5fb9d10ed690e792a78431a08ce548..3d9def99af8549a69f0f1d90b56165cc245da654
Binary files a/de.prob.core/prob/macos/probcli and b/de.prob.core/prob/macos/probcli differ
diff --git a/de.prob.core/prob/macos/probcli.sh b/de.prob.core/prob/macos/probcli.sh
old mode 100755
new mode 100644
diff --git a/de.prob.core/prob/macos/send_user_interrupt b/de.prob.core/prob/macos/send_user_interrupt
old mode 100755
new mode 100644
index eb65c6e230622c6658b628df7e2b8ca16a2b1b34..25324629cdfad0ce76ee2487434653941b765c0e
Binary files a/de.prob.core/prob/macos/send_user_interrupt and b/de.prob.core/prob/macos/send_user_interrupt differ
diff --git a/de.prob.core/prob/windows/Microsoft.VC80.CRT/Microsoft.VC80.CRT.manifest b/de.prob.core/prob/windows/Microsoft.VC80.CRT/Microsoft.VC80.CRT.manifest
old mode 100755
new mode 100644
diff --git a/de.prob.core/prob/windows/Microsoft.VC80.CRT/msvcm80.dll b/de.prob.core/prob/windows/Microsoft.VC80.CRT/msvcm80.dll
old mode 100755
new mode 100644
diff --git a/de.prob.core/prob/windows/Microsoft.VC80.CRT/msvcp80.dll b/de.prob.core/prob/windows/Microsoft.VC80.CRT/msvcp80.dll
old mode 100755
new mode 100644
diff --git a/de.prob.core/prob/windows/Microsoft.VC80.CRT/msvcr80.dll b/de.prob.core/prob/windows/Microsoft.VC80.CRT/msvcr80.dll
old mode 100755
new mode 100644
diff --git a/de.prob.core/prob/windows/build_info.txt b/de.prob.core/prob/windows/build_info.txt
index 6e8a5c94e0672e77a08320c3a02f054f97cc80f9..ccc0f9c5d1f27f96c32b7bd76cb94a2ebc07cb60 100644
--- a/de.prob.core/prob/windows/build_info.txt
+++ b/de.prob.core/prob/windows/build_info.txt
@@ -1,4 +1,4 @@
 
-		Last build: ${build} Revision: 8306
-		June 28 2011
+		Last build: ${build} Revision: 9938
+		January 17 2012
   
\ No newline at end of file
diff --git a/de.prob.core/prob/windows/lib/graphiso.dll b/de.prob.core/prob/windows/lib/graphiso.dll
old mode 100755
new mode 100644
index e45d8fb0fe8561f79ff04587c507558a95b80251..806da6ee6b1d44f5e1cc3149a42ec98f4e5b1d69
Binary files a/de.prob.core/prob/windows/lib/graphiso.dll and b/de.prob.core/prob/windows/lib/graphiso.dll differ
diff --git a/de.prob.core/prob/windows/lib/ltlc.dll b/de.prob.core/prob/windows/lib/ltlc.dll
old mode 100755
new mode 100644
index 52180048e11a77a1ec5978afa7a38b2610509306..6f97e65670e7e998de08c26f0a9c61941820e837
Binary files a/de.prob.core/prob/windows/lib/ltlc.dll and b/de.prob.core/prob/windows/lib/ltlc.dll differ
diff --git a/de.prob.core/prob/windows/lib/myheap.dll b/de.prob.core/prob/windows/lib/myheap.dll
deleted file mode 100644
index 7529b4025d518decf217f0db330b5f1aeebc05e8..0000000000000000000000000000000000000000
Binary files a/de.prob.core/prob/windows/lib/myheap.dll and /dev/null differ
diff --git a/de.prob.core/prob/windows/lib/user_signal.dll b/de.prob.core/prob/windows/lib/user_signal.dll
index 013e0540a3a513e2ce60479216bc772dfce69baf..bcb60340c3ff624144af8601e1fc1b91ef100090 100644
Binary files a/de.prob.core/prob/windows/lib/user_signal.dll and b/de.prob.core/prob/windows/lib/user_signal.dll differ
diff --git a/de.prob.core/prob/windows/probcli.exe b/de.prob.core/prob/windows/probcli.exe
index 346e163480a796ec7cbbf394e4c81ea043601065..a35cd566609afa7bdafebcb611ff81429a631e4c 100644
Binary files a/de.prob.core/prob/windows/probcli.exe and b/de.prob.core/prob/windows/probcli.exe differ
diff --git a/de.prob.core/prob/windows/send_user_interrupt.exe b/de.prob.core/prob/windows/send_user_interrupt.exe
index 878021faa421be7f43698b2099393233cf9d1def..89c59203ddbcfcdbf52e89ee884a1ac874a00878 100644
Binary files a/de.prob.core/prob/windows/send_user_interrupt.exe and b/de.prob.core/prob/windows/send_user_interrupt.exe differ
diff --git a/de.prob.core/src/de/prob/cli/CliStarter.java b/de.prob.core/src/de/prob/cli/CliStarter.java
index a1fd1bb431a6f0bf2b6a59cd0985662ee12d6a0b..fa142a5eb0fada6925fd9b14a5e38a689da1b8ff 100644
--- a/de.prob.core/src/de/prob/cli/CliStarter.java
+++ b/de.prob.core/src/de/prob/cli/CliStarter.java
@@ -41,8 +41,6 @@ public final class CliStarter {
 	private static final String[] JARS = new String[] { "BParser.jar",
 			"ParserAspects.jar", "aspectjrt.jar", "prolog.jar" };
 
-	private static Map<String, OsSpecificInfo> OSINFOS = createOsInfos();
-
 	private Process prologProcess;
 	private String debuggingKey;
 
@@ -56,17 +54,6 @@ public final class CliStarter {
 		this(null);
 	}
 
-	private static Map<String, OsSpecificInfo> createOsInfos() {
-		Map<String, OsSpecificInfo> infos = new HashMap<String, CliStarter.OsSpecificInfo>();
-		infos.put(Platform.OS_MACOSX, new OsSpecificInfo("macos", "probcli.sh",
-				"sh", "send_user_interrupt"));
-		infos.put(Platform.OS_LINUX, new OsSpecificInfo("linux", "probcli.sh",
-				"sh", "send_user_interrupt"));
-		infos.put(Platform.OS_WIN32, new OsSpecificInfo("windows",
-				"probcli.exe", null, "send_user_interrupt.exe"));
-		return Collections.unmodifiableMap(infos);
-	}
-
 	public CliStarter(final File file) throws CliException {
 		startProlog(file);
 	}
@@ -97,10 +84,13 @@ public final class CliStarter {
 		debuggingKey = null;
 
 		final String os = Platform.getOS();
+		final String arch = Platform.getOSArch();
 		final File applicationPath = getCliPath();
 
 		final String fullcp = createFullClasspath(os, applicationPath);
-		final OsSpecificInfo osInfo = getOsInfo(os);
+		
+		final OsSpecificInfo osInfo = getOsInfo(os,arch);
+		
 
 		final String osPath = applicationPath + File.separator + osInfo.subdir;
 		final String executable = osPath + File.separator + osInfo.cliName;
@@ -161,15 +151,28 @@ public final class CliStarter {
 
 	}
 
-	private OsSpecificInfo getOsInfo(final String os) throws CliException {
-		final OsSpecificInfo osInfo = OSINFOS.get(os);
-		if (osInfo == null) {
+	private OsSpecificInfo getOsInfo(final String os, String architecture) throws CliException {
+		if (os.equals(Platform.OS_MACOSX)) {
+			return new OsSpecificInfo("macos", "probcli.sh",
+					"sh", "send_user_interrupt");
+		}
+		if (os.equals(Platform.OS_WIN32)) {
+			return new OsSpecificInfo("windows",
+					"probcli.exe", null, "send_user_interrupt.exe");
+		}
+		
+		if (os.equals(Platform.OS_LINUX)) {
+			String linux = "linux";
+			if (architecture.equals(Platform.ARCH_X86_64)) {
+				linux = "linux64";
+			}
+			return new OsSpecificInfo(linux, "probcli.sh",
+					"sh", "send_user_interrupt");
+		}
 			final CliException cliException = new CliException(
 					"ProB does not support the plattform: " + os);
 			cliException.notifyUserOnce();
 			throw cliException;
-		}
-		return osInfo;
 	}
 
 	@SuppressWarnings("unchecked")
@@ -333,7 +336,8 @@ public final class CliStarter {
 	public void sendUserInterruptReference() {
 		if (userInterruptReference != null) {
 			try {
-				final OsSpecificInfo osInfo = getOsInfo(Platform.getOS());
+				final OsSpecificInfo osInfo = getOsInfo(Platform.getOS(),
+						Platform.getOSArch());
 				final String command = getCliPath() + File.separator
 						+ osInfo.subdir + File.separator
 						+ osInfo.userInterruptCmd;
diff --git a/de.prob.ui/META-INF/MANIFEST.MF b/de.prob.ui/META-INF/MANIFEST.MF
index c4ccd1586532750027ba2952e3a7d0ddf8ed379d..52076c7c70d0aefdf376b6d00d6b36df0d601d59 100644
--- a/de.prob.ui/META-INF/MANIFEST.MF
+++ b/de.prob.ui/META-INF/MANIFEST.MF
@@ -8,7 +8,7 @@ Require-Bundle: org.eclipse.ui;bundle-version="[3.5.0,4.0.0)",
  org.eclipse.core.resources;bundle-version="[3.5.0,4.0.0)",
  org.eclipse.ui.ide;bundle-version="[3.5.0,4.0.0)",
  de.prob.core;bundle-version="[9.1.0,9.2.0)",
- org.eventb.core;bundle-version="[2.1.0,2.4.0)",
+ org.eventb.core;bundle-version="[2.1.0,2.5.0)",
  org.eclipse.core.expressions;bundle-version="[3.4.101,4.0.0)",
  org.eclipse.gef;bundle-version="[3.5.0,4.0.0)"
 Bundle-ActivationPolicy: lazy