├── .DS_Store ├── .gitignore ├── LICENSE ├── README.md ├── main.py ├── requirements.txt ├── sci ├── Celestia │ ├── __init__.py │ ├── celestia.py │ └── task.py ├── ChimeraX │ ├── __init__.py │ ├── chimerax.py │ └── task.py ├── GrassGIS │ ├── __init__.py │ ├── grass.py │ └── task.py ├── KAlgebra │ ├── __init__.py │ ├── kalgebra.py │ └── task.py ├── Lean │ ├── __init__.py │ ├── format.py │ ├── lean.py │ └── task.py ├── Presets.py ├── Prompts.py ├── TeXstudio │ ├── __init__.py │ ├── task.py │ └── texstudio.py ├── Template │ ├── __init__.py │ ├── task.py │ └── template.py ├── Tester.py ├── __init__.py ├── base │ ├── __init__.py │ ├── agent.py │ ├── community.py │ ├── init.py │ ├── log.py │ ├── manager.py │ ├── model.py │ ├── override.py │ ├── prompt.py │ ├── relative.py │ ├── task.py │ └── utils.py └── vm │ ├── __init__.py │ ├── utils.py │ ├── vmanager.py │ └── vtask.py ├── static ├── scienceboard_badge.png ├── scienceboard_badge_v0.png ├── scienceboard_overview.jpg └── scienceboard_workflow.jpg ├── tasks ├── Dual │ └── ChimeraX │ │ ├── A-01.json │ │ ├── A-02.json │ │ ├── A-03.json │ │ ├── A-04.json │ │ ├── A-05.json │ │ ├── A-06.json │ │ ├── A-07.json │ │ ├── A-08.json │ │ ├── A-09.json │ │ ├── A-10.json │ │ ├── A-11.json │ │ ├── B-01.json │ │ ├── B-02.json │ │ ├── B-03.json │ │ ├── B-04.json │ │ ├── B-05.json │ │ ├── B-06.json │ │ ├── B-07.json │ │ ├── B-08.json │ │ ├── C-01.json │ │ ├── C-02.json │ │ ├── C-03.json │ │ ├── C-04.json │ │ ├── C-05.json │ │ ├── C-06.json │ │ ├── C-07.json │ │ ├── D-01.json │ │ ├── D-02.json │ │ └── D-03.json ├── Raw │ ├── Lean │ │ ├── A-01.json │ │ ├── A-02.json │ │ ├── A-03.json │ │ ├── A-04.json │ │ ├── A-05.json │ │ ├── B-01.json │ │ ├── B-02.json │ │ ├── B-03.json │ │ ├── B-04.json │ │ ├── B-05.json │ │ ├── B-06.json │ │ ├── B-07.json │ │ ├── C-01.json │ │ ├── C-02.json │ │ ├── C-03.json │ │ ├── C-04.json │ │ ├── C-05.json │ │ ├── D-01.json │ │ ├── D-02.json │ │ ├── D-03.json │ │ ├── D-04.json │ │ ├── D-05.json │ │ ├── D-06.json │ │ ├── D-07.json │ │ ├── E-01.json │ │ └── E-02.json │ ├── requirements.linux.txt │ └── requirements.win.txt └── VM │ ├── Celestia │ ├── A-01.json │ ├── A-02.json │ ├── A-03.json │ ├── A-04.json │ ├── A-05.json │ ├── A-06.json │ ├── A-07.json │ ├── A-08.json │ ├── B-01.json │ ├── B-02.json │ ├── B-03.json │ ├── B-04.json │ ├── B-05.json │ ├── B-06.json │ ├── B-07.json │ ├── B-08.json │ ├── B-09.json │ ├── B-10.json │ ├── B-11.json │ ├── B-12.json │ ├── C-01.json │ ├── C-02.json │ ├── C-03.json │ ├── C-04.json │ ├── C-05.json │ ├── C-06.json │ ├── C-07.json │ ├── C-08.json │ ├── C-09.json │ ├── C-10.json │ ├── D-01.json │ ├── D-02.json │ └── D-03.json │ ├── ChimeraX │ ├── A-01.json │ ├── A-02.json │ ├── A-03.json │ ├── A-04.json │ ├── A-05.json │ ├── A-06.json │ ├── A-07.json │ ├── A-08.json │ ├── A-09.json │ ├── A-10.json │ ├── A-11.json │ ├── B-01.json │ ├── B-02.json │ ├── B-03.json │ ├── B-04.json │ ├── B-05.json │ ├── B-06.json │ ├── B-07.json │ ├── B-08.json │ ├── C-01.json │ ├── C-02.json │ ├── C-03.json │ ├── C-04.json │ ├── C-05.json │ ├── C-06.json │ ├── C-07.json │ ├── D-01.json │ ├── D-02.json │ └── D-03.json │ ├── GrassGIS │ ├── A-01.json │ ├── A-02.json │ ├── A-03.json │ ├── A-04.json │ ├── A-05.json │ ├── A-06.json │ ├── A-07.json │ ├── A-08.json │ ├── A-09.json │ ├── A-10.json │ ├── B-01.json │ ├── B-02.json │ ├── B-03.json │ ├── B-04.json │ ├── B-05.json │ ├── B-06.json │ ├── B-07.json │ ├── B-08.json │ ├── B-09.json │ ├── B-10.json │ ├── B-11.json │ ├── B-12.json │ ├── B-13.json │ ├── C-01.json │ ├── C-02.json │ ├── C-03.json │ ├── C-04.json │ ├── C-05.json │ ├── C-06.json │ ├── C-07.json │ ├── D-01.json │ ├── D-02.json │ ├── D-03.json │ └── D-04.json │ ├── KAlgebra │ ├── A-01.json │ ├── A-02.json │ ├── A-03.json │ ├── A-04.json │ ├── B-01.json │ ├── B-02.json │ ├── B-03.json │ ├── B-04.json │ ├── B-05.json │ ├── B-06.json │ ├── B-07.json │ ├── C-01.json │ ├── C-02.json │ ├── C-03.json │ ├── C-04.json │ ├── C-05.json │ ├── C-06.json │ ├── C-07.json │ ├── C-08.json │ ├── C-09.json │ ├── C-10.json │ ├── C-11.json │ ├── C-12.json │ ├── C-13.json │ ├── C-14.json │ ├── C-15.json │ ├── C-16.json │ ├── C-17.json │ ├── D-01.json │ ├── D-02.json │ └── D-03.json │ ├── Lean │ ├── A-01.json │ ├── A-02.json │ ├── A-03.json │ ├── A-04.json │ ├── A-05.json │ ├── B-01.json │ ├── B-02.json │ ├── B-03.json │ ├── B-04.json │ ├── B-05.json │ ├── B-06.json │ ├── B-07.json │ ├── C-01.json │ ├── C-02.json │ ├── C-03.json │ ├── C-04.json │ ├── C-05.json │ ├── D-01.json │ ├── D-02.json │ ├── D-03.json │ ├── D-04.json │ ├── D-05.json │ ├── D-06.json │ ├── D-07.json │ ├── E-01.json │ └── E-02.json │ └── TeXstudio │ ├── A-01.json │ ├── A-02.json │ ├── A-03.json │ ├── A-04.json │ ├── B-01.json │ ├── B-02.json │ ├── B-03.json │ ├── B-04.json │ ├── C-01.json │ ├── C-02.json │ ├── C-03.json │ ├── C-04.json │ ├── C-05.json │ ├── C-06.json │ ├── D-01.json │ └── D-02.json └── vm_config ├── manual.md ├── pack ├── DEBIAN │ └── control └── home │ └── user │ └── Downloads │ └── ChimeraX │ ├── AlphaFold │ ├── AF-A8Z1J3-F1-model_v4.cif │ └── alphafold_database.json │ ├── PDB │ ├── 102l.cif │ ├── 1dns.cif │ ├── 251d.cif │ ├── 2olx.cif │ ├── 2olx.cif.1 │ ├── 3bna.cif │ ├── 3ppd.cif │ ├── 4r0u.cif │ └── 4tut.cif │ └── UniProt │ └── A8Z1J3.xml ├── pyxcursor.py ├── reset.sh ├── server.py └── service.conf /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OS-Copilot/ScienceBoard/fa9665a59bd90ad2b3d558d1587236c9d5e741de/.DS_Store -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /.temp 2 | /.in 3 | /.out 4 | 5 | .vscode 6 | .VSCodeCounter 7 | 8 | /logs/* 9 | /temp/* 10 | /vmware/* 11 | 12 | .vmware_lck 13 | .vmware_vms 14 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2025 [fullname] 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | requests==2.31.0 2 | desktop-env==0.1.22 3 | -------------------------------------------------------------------------------- /sci/Celestia/__init__.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | sys.dont_write_bytecode = True 4 | from .celestia import RawManager, VMManager 5 | from .task import RawTask, VMTask 6 | -------------------------------------------------------------------------------- /sci/ChimeraX/__init__.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | sys.dont_write_bytecode = True 4 | from .chimerax import RawManager, VMManager 5 | from .task import RawTask, VMTask 6 | -------------------------------------------------------------------------------- /sci/GrassGIS/__init__.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | sys.dont_write_bytecode = True 4 | from .grass import RawManager, VMManager 5 | from .task import RawTask, VMTask 6 | -------------------------------------------------------------------------------- /sci/KAlgebra/__init__.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | sys.dont_write_bytecode = True 4 | from .kalgebra import RawManager, VMManager 5 | from .task import RawTask, VMTask 6 | -------------------------------------------------------------------------------- /sci/Lean/__init__.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | sys.dont_write_bytecode = True 4 | from .lean import RawManager, VMManager 5 | from .task import RawTask, VMTask 6 | -------------------------------------------------------------------------------- /sci/TeXstudio/__init__.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | sys.dont_write_bytecode = True 4 | from .texstudio import RawManager, VMManager 5 | from .task import RawTask, VMTask 6 | -------------------------------------------------------------------------------- /sci/TeXstudio/texstudio.py: -------------------------------------------------------------------------------- 1 | import sys 2 | import os 3 | import subprocess 4 | 5 | from typing import Self 6 | from PIL import Image 7 | 8 | sys.dont_write_bytecode = True 9 | from ..base import Manager 10 | from ..vm import VManager 11 | 12 | 13 | class RawManager(Manager): 14 | def __init__(self, version: str = "0.1") -> None: 15 | assert os.system("texstudio --version") == 0 16 | super().__init__(version) 17 | 18 | def __call__(self, _) -> None: 19 | raise NotImplementedError 20 | 21 | def __enter__(self) -> Self: 22 | self.process = subprocess.Popen(["texstudio"], text=True) 23 | Manager.pause() 24 | return super().__enter__() 25 | 26 | def __exit__(self, exc_type, exc_value, traceback) -> None: 27 | self.process.kill() 28 | super().__exit__(exc_type, exc_value, traceback) 29 | 30 | def screenshot(self) -> Image.Image: 31 | raise NotImplementedError 32 | 33 | 34 | class VMManager(VManager): 35 | def __init__( 36 | self, 37 | *args, 38 | port: int = 8000, 39 | **kwargs 40 | ) -> None: 41 | super().__init__(*args, **kwargs) 42 | 43 | assert port in range(1024, 65536) 44 | self.port = port 45 | 46 | def _chimerax_execute(self, command: str): 47 | return self._request( 48 | f"POST:{VManager.SERVER_PORT}/chimerax/run", 49 | param={"json": {"command": command}} 50 | ).json()["error"] is None 51 | -------------------------------------------------------------------------------- /sci/Template/__init__.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | sys.dont_write_bytecode = True 4 | from .template import RawManager, VMManager 5 | from .task import RawTask, VMTask 6 | -------------------------------------------------------------------------------- /sci/Template/task.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | sys.dont_write_bytecode = True 4 | from ..base import Task 5 | from ..vm import VTask 6 | from .template import RawManager, VMManager 7 | 8 | 9 | class TaskMixin: 10 | def __init__(self) -> None: 11 | raise 12 | 13 | @Task._config_handler 14 | def check_config(self, eval_item) -> None: 15 | ... 16 | 17 | 18 | class RawTask(Task, TaskMixin): 19 | def __init__( 20 | self, 21 | config_path: str, 22 | manager: RawManager, 23 | *args, 24 | **kwargs 25 | ) -> None: 26 | # to enable Pylance type checker 27 | assert isinstance(manager, RawManager) 28 | self.manager = manager 29 | 30 | super().__init__(config_path, manager, *args, **kwargs) 31 | self.check_config() 32 | 33 | def _init(self) -> bool: 34 | ... 35 | return True 36 | 37 | @Task._stop_handler 38 | def eval(self) -> bool: 39 | raise NotImplementedError 40 | 41 | 42 | class VMTask(VTask, TaskMixin): 43 | def __init__( 44 | self, 45 | config_path: str, 46 | manager: VMManager, 47 | *args, 48 | **kwargs 49 | ) -> None: 50 | # to enable Pylance type checker 51 | assert isinstance(manager, VMManager) 52 | self.manager = manager 53 | 54 | super().__init__(config_path, manager, *args, **kwargs) 55 | self.check_config() 56 | 57 | @Task._stop_handler 58 | def eval(self) -> bool: 59 | raise NotImplementedError 60 | -------------------------------------------------------------------------------- /sci/Template/template.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | from typing import Self 4 | from PIL import Image 5 | 6 | sys.dont_write_bytecode = True 7 | from ..base import Manager 8 | from ..vm import VManager 9 | 10 | 11 | class ManagerMixin: 12 | def __init__(self) -> None: 13 | raise 14 | 15 | 16 | class RawManager(Manager, ManagerMixin): 17 | def __init__(self, version: str) -> None: 18 | super().__init__(version) 19 | 20 | def __call__(self) -> None: 21 | raise NotImplementedError 22 | 23 | def __enter__(self) -> Self: 24 | return super().__enter__() 25 | 26 | def __exit__(self, exc_type, exc_value, traceback) -> None: 27 | super().__exit__(exc_type, exc_value, traceback) 28 | 29 | def screenshot(self) -> Image.Image: 30 | raise NotImplementedError 31 | 32 | 33 | class VMManager(VManager, ManagerMixin): 34 | def __init__(self, *args, **kwargs) -> None: 35 | super().__init__(*args, **kwargs) 36 | -------------------------------------------------------------------------------- /sci/__init__.py: -------------------------------------------------------------------------------- 1 | import sys 2 | from typing import Annotated 3 | 4 | sys.dont_write_bytecode = True 5 | from .base import utils 6 | from .base import TypeSort 7 | from .base import RawType 8 | from .base import VMType 9 | 10 | from .base import Log 11 | from .base import VirtualLog 12 | from .base import GLOBAL_VLOG 13 | 14 | from .base import Content 15 | from .base import TextContent 16 | from .base import ImageContent 17 | from .base import Message 18 | from .base import Model 19 | 20 | from .base import ModelType 21 | from .base import RoleType 22 | 23 | from .base import Primitive 24 | from .base import CodeLike 25 | 26 | from .base import PromptFactory 27 | from .base import AIOPromptFactory 28 | from .base import PlannerPromptFactory 29 | from .base import GrounderPromptFactory 30 | 31 | from .base import Overflow 32 | from .base import Agent 33 | from .base import AIOAgent 34 | from .base import PlannerAgent 35 | from .base import GrounderAgent 36 | 37 | from .base import Community 38 | from .base import AllInOne 39 | from .base import SeeAct 40 | 41 | from .base import OBS 42 | from .base import Manager 43 | from .base import Task 44 | 45 | from .vm import VManager 46 | from .vm import VTask 47 | 48 | from . import ChimeraX 49 | from . import KAlgebra 50 | from . import Celestia 51 | from . import TeXstudio 52 | from . import Lean 53 | 54 | from . import Presets 55 | from . import Prompts 56 | 57 | from .Tester import Counter 58 | from .Tester import Automata 59 | 60 | from .Tester import TaskInfo 61 | from .Tester import TaskGroup 62 | from .Tester import Tester 63 | 64 | # DO NOT IMPORT TEMPLATE 65 | Template = NotImplemented 66 | -------------------------------------------------------------------------------- /sci/base/__init__.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | sys.dont_write_bytecode = True 4 | from . import utils 5 | from .utils import TypeSort 6 | from .utils import RawType 7 | from .utils import VMType 8 | 9 | from .log import Log 10 | from .log import VirtualLog 11 | from .log import GLOBAL_VLOG 12 | 13 | from .model import Content 14 | from .model import TextContent 15 | from .model import ImageContent 16 | from .model import Message 17 | from .model import Model 18 | 19 | from .model import ModelType 20 | from .model import RoleType 21 | 22 | from .prompt import Primitive 23 | from .prompt import CodeLike 24 | 25 | from .prompt import PromptFactory 26 | from .prompt import AIOPromptFactory 27 | from .prompt import PlannerPromptFactory 28 | from .prompt import GrounderPromptFactory 29 | 30 | from .agent import Overflow 31 | from .agent import Agent 32 | from .agent import AIOAgent 33 | from .agent import PlannerAgent 34 | from .agent import GrounderAgent 35 | 36 | from .community import Community 37 | from .community import AllInOne 38 | from .community import SeeAct 39 | 40 | from .manager import OBS 41 | from .manager import Manager 42 | 43 | from .task import Task 44 | -------------------------------------------------------------------------------- /sci/base/init.py: -------------------------------------------------------------------------------- 1 | import sys 2 | import os 3 | import urllib.request 4 | 5 | from typing import TYPE_CHECKING 6 | 7 | sys.dont_write_bytecode = True 8 | if TYPE_CHECKING: 9 | from ..vm.vmanager import VManager 10 | 11 | 12 | def raw_download(url: str, path: str) -> bool: 13 | path = os.path.expanduser(path) 14 | urllib.request.urlretrieve(url, path) 15 | return True 16 | 17 | def raw_touch(text: str, path: str) -> bool: 18 | path = os.path.expanduser(path) 19 | with open(path, mode="w") as writable: 20 | writable.write(text) 21 | return True 22 | 23 | def vm_download(url: str, path: str, manager: "VManager") -> bool: 24 | filename = os.path.split(path)[1] 25 | temp_path = os.path.join(manager.temp_dir, filename) 26 | if raw_download(url, temp_path): 27 | # do not use manager.write_file because it only supports textual files 28 | return manager._vmrun("CopyFileFromHostToGuest", temp_path, path)[1] 29 | 30 | def vm_touch(text: str, path: str, manager: "VManager") -> bool: 31 | return manager.write_file(path, text) 32 | -------------------------------------------------------------------------------- /sci/base/override.py: -------------------------------------------------------------------------------- 1 | import dataclasses 2 | from typing import Dict, Any 3 | 4 | # modify asdict() for class Content 5 | # ref: https://stackoverflow.com/a/78289335 6 | _asdict_inner_actual = dataclasses._asdict_inner 7 | def _asdict_inner(obj, dict_factory): 8 | if dataclasses._is_dataclass_instance(obj): 9 | if getattr(obj, "__dict_factory_override__", None): 10 | user_dict = obj.__dict_factory_override__() 11 | for key, value in user_dict.items(): 12 | if dataclasses._is_dataclass_instance(value): 13 | user_dict[key] = _asdict_inner(value, dict_factory) 14 | return user_dict 15 | return _asdict_inner_actual(obj, dict_factory) 16 | dataclasses._asdict_inner = _asdict_inner 17 | 18 | def eliminate_nonetype(self) -> Dict[str, Any]: 19 | return { 20 | key: getattr(self, key) 21 | for key in self.__dataclass_fields__ 22 | if getattr(self, key) is not None 23 | } 24 | -------------------------------------------------------------------------------- /sci/base/relative.py: -------------------------------------------------------------------------------- 1 | import inspect 2 | 3 | ORIGINAL = {} 4 | ABSOLUTE = False 5 | 6 | def switch(func_name, xRange=(0, 1), yRange=(0, 1), pos=(0, 1), offset=False): 7 | global ORIGINAL, ABSOLUTE 8 | ORIGINAL[func_name] = getattr(__import__("pyautogui"), func_name) 9 | 10 | def new_func(*args, **kwargs): 11 | global ORIGINAL 12 | if hasattr(__import__("pyautogui"), inspect.stack()[1].function): 13 | ORIGINAL[func_name](*args, **kwargs) 14 | return 15 | 16 | xStr, yStr = "x", "y" 17 | xRel, yRel = 0, 0 18 | screenWidth, screenHeight = __import__("pyautogui").size() 19 | 20 | if offset: 21 | xStr += "Offset" 22 | yStr += "Offset" 23 | 24 | if xStr in kwargs and yStr in kwargs: 25 | xRel, yRel = kwargs[xStr], kwargs[yStr] 26 | del kwargs[xStr], kwargs[yStr] 27 | else: 28 | xRel, yRel = args[pos[0]], args[pos[1]] 29 | args = [item for index, item in enumerate(args) if index not in pos] 30 | 31 | xAbs, yAbs = ( 32 | (xRel - xRange[0]) / xRange[1] * screenWidth, 33 | (yRel - yRange[0]) / yRange[1] * screenHeight 34 | ) 35 | ORIGINAL[func_name](xAbs, yAbs, *args, **kwargs) 36 | 37 | setattr(__import__("pyautogui"), func_name, new_func) 38 | 39 | switch("moveTo") 40 | switch("moveRel", offset=True) 41 | switch("dragTo") 42 | switch("dragRel", offset=True) 43 | switch("click") 44 | switch("rightClick") 45 | switch("middleClick") 46 | switch("doubleClick") 47 | switch("tripleClick") 48 | switch("mouseDown") 49 | switch("mouseUp") 50 | -------------------------------------------------------------------------------- /sci/vm/__init__.py: -------------------------------------------------------------------------------- 1 | import sys 2 | 3 | sys.dont_write_bytecode = True 4 | from .vmanager import VManager 5 | from .vtask import VTask 6 | -------------------------------------------------------------------------------- /static/scienceboard_badge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OS-Copilot/ScienceBoard/fa9665a59bd90ad2b3d558d1587236c9d5e741de/static/scienceboard_badge.png -------------------------------------------------------------------------------- /static/scienceboard_badge_v0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OS-Copilot/ScienceBoard/fa9665a59bd90ad2b3d558d1587236c9d5e741de/static/scienceboard_badge_v0.png -------------------------------------------------------------------------------- /static/scienceboard_overview.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OS-Copilot/ScienceBoard/fa9665a59bd90ad2b3d558d1587236c9d5e741de/static/scienceboard_overview.jpg -------------------------------------------------------------------------------- /static/scienceboard_workflow.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OS-Copilot/ScienceBoard/fa9665a59bd90ad2b3d558d1587236c9d5e741de/static/scienceboard_workflow.jpg -------------------------------------------------------------------------------- /tasks/Dual/ChimeraX/A-01.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "ChimeraX", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Fetch 2OLX from PDB in ChimeraX.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": [ 12 | "rm", 13 | "/home/user/.local/share/ChimeraX/commands", 14 | "/home/user/.local/share/ChimeraX/file_history", 15 | "/home/user/.local/share/ChimeraX/preregistration" 16 | ] 17 | }, 18 | { 19 | "func": "execute", 20 | "command": "rm -f /home/user/.config/ChimeraX/ui-*", 21 | "shell": true 22 | }, 23 | { 24 | "func": "launch", 25 | "wait": 7.5, 26 | "command": [ 27 | "chimerax", 28 | "--cmd", 29 | "remotecontrol rest start json true port «PORTLIKE»" 30 | ] 31 | }, 32 | { 33 | "func": "clear_log" 34 | }, 35 | { 36 | "func": "destroy", 37 | "wait": 2.5 38 | } 39 | ], 40 | "evaluate": [ 41 | { 42 | "type": "states", 43 | "key": "_state_containers.models._models.(1,)._name", 44 | "value": "2olx" 45 | } 46 | ] 47 | } 48 | -------------------------------------------------------------------------------- /tasks/Dual/ChimeraX/A-02.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "ChimeraX", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Load ~/Downloads/prot.cif in ChimeraX.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": [ 12 | "rm", 13 | "/home/user/.local/share/ChimeraX/commands", 14 | "/home/user/.local/share/ChimeraX/file_history", 15 | "/home/user/.local/share/ChimeraX/preregistration" 16 | ] 17 | }, 18 | { 19 | "func": "execute", 20 | "command": "rm -f /home/user/.config/ChimeraX/ui-*", 21 | "shell": true 22 | }, 23 | { 24 | "func": "launch", 25 | "wait": 7.5, 26 | "command": [ 27 | "chimerax", 28 | "--cmd", 29 | "remotecontrol rest start json true port «PORTLIKE»" 30 | ] 31 | }, 32 | { 33 | "func": "clear_log" 34 | }, 35 | { 36 | "func": "download", 37 | "url": "https://files.rcsb.org/download/3ppd.cif", 38 | "path": "/home/user/Downloads/prot.cif" 39 | }, 40 | { 41 | "func": "destroy", 42 | "wait": 2.5 43 | } 44 | ], 45 | "evaluate": [ 46 | { 47 | "type": "states", 48 | "key": "_state_containers.models._models.(1,)._name", 49 | "value": "prot.cif" 50 | } 51 | ] 52 | } 53 | -------------------------------------------------------------------------------- /tasks/Dual/ChimeraX/A-03.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "ChimeraX", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Change the display of the model to ball and stick style in ChimeraX.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": [ 12 | "rm", 13 | "/home/user/.local/share/ChimeraX/commands", 14 | "/home/user/.local/share/ChimeraX/file_history", 15 | "/home/user/.local/share/ChimeraX/preregistration" 16 | ] 17 | }, 18 | { 19 | "func": "execute", 20 | "command": "rm -f /home/user/.config/ChimeraX/ui-*", 21 | "shell": true 22 | }, 23 | { 24 | "func": "launch", 25 | "wait": 7.5, 26 | "command": [ 27 | "chimerax", 28 | "--cmd", 29 | "remotecontrol rest start json true port «PORTLIKE»" 30 | ] 31 | }, 32 | { 33 | "func": "clear_log" 34 | }, 35 | { 36 | "func": "open", 37 | "name": "3ppd" 38 | }, 39 | { 40 | "func": "turn", 41 | "axis": "y", 42 | "angle": 1 43 | }, 44 | { 45 | "func": "destroy", 46 | "wait": 2.5 47 | } 48 | ], 49 | "evaluate": [ 50 | { 51 | "type": "states", 52 | "key": "_state_containers.models._models.(1,)._redraw_needed.cached_drawing_bounds.xyz_min", 53 | "value": "[ -0.30499998 -5.4719996 -11.4869995 ]" 54 | } 55 | ] 56 | } 57 | -------------------------------------------------------------------------------- /tasks/Dual/ChimeraX/A-07.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "ChimeraX", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Change the background to grey color in ChimeraX.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": [ 12 | "rm", 13 | "/home/user/.local/share/ChimeraX/commands", 14 | "/home/user/.local/share/ChimeraX/file_history", 15 | "/home/user/.local/share/ChimeraX/preregistration" 16 | ] 17 | }, 18 | { 19 | "func": "execute", 20 | "command": "rm -f /home/user/.config/ChimeraX/ui-*", 21 | "shell": true 22 | }, 23 | { 24 | "func": "launch", 25 | "wait": 7.5, 26 | "command": [ 27 | "chimerax", 28 | "--cmd", 29 | "remotecontrol rest start json true port «PORTLIKE»" 30 | ] 31 | }, 32 | { 33 | "func": "clear_log" 34 | }, 35 | { 36 | "func": "open", 37 | "name": "1dns" 38 | }, 39 | { 40 | "func": "turn", 41 | "axis": "y", 42 | "angle": 1 43 | }, 44 | { 45 | "func": "destroy", 46 | "wait": 2.5 47 | } 48 | ], 49 | "evaluate": [ 50 | { 51 | "type": "states", 52 | "key": "_state_containers.models._models.(1,)._atoms_drawing._draw_shape.bindings._opengl_context.window.view._background_rgba", 53 | "value": "[0.5019608 0.5019608 0.5019608 0. ]" 54 | } 55 | ] 56 | } 57 | -------------------------------------------------------------------------------- /tasks/Dual/ChimeraX/A-11.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "ChimeraX", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Show nucleotides as ladders of H-bond in ChimeraX.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": [ 12 | "rm", 13 | "/home/user/.local/share/ChimeraX/commands", 14 | "/home/user/.local/share/ChimeraX/file_history", 15 | "/home/user/.local/share/ChimeraX/preregistration" 16 | ] 17 | }, 18 | { 19 | "func": "execute", 20 | "command": "rm -f /home/user/.config/ChimeraX/ui-*", 21 | "shell": true 22 | }, 23 | { 24 | "func": "launch", 25 | "wait": 7.5, 26 | "command": [ 27 | "chimerax", 28 | "--cmd", 29 | "remotecontrol rest start json true port «PORTLIKE»" 30 | ] 31 | }, 32 | { 33 | "func": "clear_log" 34 | }, 35 | { 36 | "func": "open", 37 | "name": "3bna" 38 | }, 39 | { 40 | "func": "turn", 41 | "axis": "y", 42 | "angle": 1 43 | }, 44 | { 45 | "func": "destroy", 46 | "wait": 2.5 47 | } 48 | ], 49 | "evaluate": [ 50 | { 51 | "type": "states", 52 | "key": "_state_containers.models._models.(1,)._ladder_params.stubs_only", 53 | "value": false 54 | } 55 | ] 56 | } 57 | -------------------------------------------------------------------------------- /tasks/Dual/ChimeraX/B-07.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "ChimeraX", 3 | "sort": "VM", 4 | "steps": 10, 5 | "instruction": "Add hydrogens with method of 'steric only' in ChimeraX.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": [ 12 | "rm", 13 | "/home/user/.local/share/ChimeraX/commands", 14 | "/home/user/.local/share/ChimeraX/file_history", 15 | "/home/user/.local/share/ChimeraX/preregistration" 16 | ] 17 | }, 18 | { 19 | "func": "execute", 20 | "command": "rm -f /home/user/.config/ChimeraX/ui-*", 21 | "shell": true 22 | }, 23 | { 24 | "func": "launch", 25 | "wait": 7.5, 26 | "command": [ 27 | "chimerax", 28 | "--cmd", 29 | "remotecontrol rest start json true port «PORTLIKE»" 30 | ] 31 | }, 32 | { 33 | "func": "clear_log" 34 | }, 35 | { 36 | "func": "open", 37 | "name": "4r0u" 38 | }, 39 | { 40 | "func": "turn", 41 | "axis": "y", 42 | "angle": 1 43 | }, 44 | { 45 | "func": "destroy", 46 | "wait": 2.5 47 | } 48 | ], 49 | "evaluate": [ 50 | { 51 | "type": "states", 52 | "find": "lambda key, value: key.endswith('page_source')", 53 | "key": "lambda key: key", 54 | "pattern": "termini:
61 hydrogens added" 55 | } 56 | ] 57 | } 58 | -------------------------------------------------------------------------------- /tasks/Dual/ChimeraX/B-08.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "ChimeraX", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Define the axes by water molecules of /A HOH 107 and /A HOH 108 in ChimeraX.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": [ 12 | "rm", 13 | "/home/user/.local/share/ChimeraX/commands", 14 | "/home/user/.local/share/ChimeraX/file_history", 15 | "/home/user/.local/share/ChimeraX/preregistration" 16 | ] 17 | }, 18 | { 19 | "func": "execute", 20 | "command": "rm -f /home/user/.config/ChimeraX/ui-*", 21 | "shell": true 22 | }, 23 | { 24 | "func": "launch", 25 | "wait": 7.5, 26 | "command": [ 27 | "chimerax", 28 | "--cmd", 29 | "remotecontrol rest start json true port «PORTLIKE»" 30 | ] 31 | }, 32 | { 33 | "func": "clear_log" 34 | }, 35 | { 36 | "func": "open", 37 | "name": "4r0u" 38 | }, 39 | { 40 | "func": "turn", 41 | "axis": "y", 42 | "angle": 1 43 | }, 44 | { 45 | "func": "destroy", 46 | "wait": 2.5 47 | } 48 | ], 49 | "evaluate": [ 50 | { 51 | "type": "stop", 52 | "value": "FAIL" 53 | } 54 | ] 55 | } 56 | -------------------------------------------------------------------------------- /tasks/Dual/ChimeraX/C-01.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "ChimeraX", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Answer the question: what is the name of residue id /A:6?", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": [ 12 | "rm", 13 | "/home/user/.local/share/ChimeraX/commands", 14 | "/home/user/.local/share/ChimeraX/file_history", 15 | "/home/user/.local/share/ChimeraX/preregistration" 16 | ] 17 | }, 18 | { 19 | "func": "execute", 20 | "command": "rm -f /home/user/.config/ChimeraX/ui-*", 21 | "shell": true 22 | }, 23 | { 24 | "func": "launch", 25 | "wait": 7.5, 26 | "command": [ 27 | "chimerax", 28 | "--cmd", 29 | "remotecontrol rest start json true port «PORTLIKE»" 30 | ] 31 | }, 32 | { 33 | "func": "clear_log" 34 | }, 35 | { 36 | "func": "open", 37 | "name": "3ppd" 38 | }, 39 | { 40 | "func": "turn", 41 | "axis": "y", 42 | "angle": 1 43 | }, 44 | { 45 | "func": "destroy", 46 | "wait": 2.5 47 | } 48 | ], 49 | "evaluate": [ 50 | { 51 | "type": "stop", 52 | "value": "ANS", 53 | "args": ["ASN"] 54 | } 55 | ], 56 | "ans": "ANS ASN" 57 | } 58 | -------------------------------------------------------------------------------- /tasks/Dual/ChimeraX/C-02.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "ChimeraX", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Submit your answer: the number of oxygen atoms in the current model.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": [ 12 | "rm", 13 | "/home/user/.local/share/ChimeraX/commands", 14 | "/home/user/.local/share/ChimeraX/file_history", 15 | "/home/user/.local/share/ChimeraX/preregistration" 16 | ] 17 | }, 18 | { 19 | "func": "execute", 20 | "command": "rm -f /home/user/.config/ChimeraX/ui-*", 21 | "shell": true 22 | }, 23 | { 24 | "func": "launch", 25 | "wait": 7.5, 26 | "command": [ 27 | "chimerax", 28 | "--cmd", 29 | "remotecontrol rest start json true port «PORTLIKE»" 30 | ] 31 | }, 32 | { 33 | "func": "clear_log" 34 | }, 35 | { 36 | "func": "open", 37 | "name": "2olx" 38 | }, 39 | { 40 | "func": "turn", 41 | "axis": "y", 42 | "angle": 1 43 | }, 44 | { 45 | "func": "destroy", 46 | "wait": 2.5 47 | } 48 | ], 49 | "evaluate": [ 50 | { 51 | "type": "stop", 52 | "value": "ANS", 53 | "args": ["9"] 54 | } 55 | ], 56 | "ans": "ANS 9" 57 | } 58 | -------------------------------------------------------------------------------- /tasks/Dual/ChimeraX/C-03.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "ChimeraX", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Submit your answer: DNA sequence of Chain A in upper case.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": [ 12 | "rm", 13 | "/home/user/.local/share/ChimeraX/commands", 14 | "/home/user/.local/share/ChimeraX/file_history", 15 | "/home/user/.local/share/ChimeraX/preregistration" 16 | ] 17 | }, 18 | { 19 | "func": "execute", 20 | "command": "rm -f /home/user/.config/ChimeraX/ui-*", 21 | "shell": true 22 | }, 23 | { 24 | "func": "launch", 25 | "wait": 7.5, 26 | "command": [ 27 | "chimerax", 28 | "--cmd", 29 | "remotecontrol rest start json true port «PORTLIKE»" 30 | ] 31 | }, 32 | { 33 | "func": "clear_log" 34 | }, 35 | { 36 | "func": "open", 37 | "name": "251d" 38 | }, 39 | { 40 | "func": "turn", 41 | "axis": "y", 42 | "angle": 1 43 | }, 44 | { 45 | "func": "destroy", 46 | "wait": 2.5 47 | } 48 | ], 49 | "evaluate": [ 50 | { 51 | "type": "stop", 52 | "value": "ANS", 53 | "args": ["CTCGAG"] 54 | } 55 | ], 56 | "ans": "ANS CTCGAG" 57 | } 58 | -------------------------------------------------------------------------------- /tasks/Dual/ChimeraX/C-04.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "ChimeraX", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Submit your answer: the number of Hydrogen atoms in /A:1.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": [ 12 | "rm", 13 | "/home/user/.local/share/ChimeraX/commands", 14 | "/home/user/.local/share/ChimeraX/file_history", 15 | "/home/user/.local/share/ChimeraX/preregistration" 16 | ] 17 | }, 18 | { 19 | "func": "execute", 20 | "command": "rm -f /home/user/.config/ChimeraX/ui-*", 21 | "shell": true 22 | }, 23 | { 24 | "func": "launch", 25 | "wait": 7.5, 26 | "command": [ 27 | "chimerax", 28 | "--cmd", 29 | "remotecontrol rest start json true port «PORTLIKE»" 30 | ] 31 | }, 32 | { 33 | "func": "clear_log" 34 | }, 35 | { 36 | "func": "open", 37 | "name": "4r0u" 38 | }, 39 | { 40 | "func": "turn", 41 | "axis": "y", 42 | "angle": 1 43 | }, 44 | { 45 | "func": "destroy", 46 | "wait": 2.5 47 | } 48 | ], 49 | "evaluate": [ 50 | { 51 | "type": "stop", 52 | "value": "ANS", 53 | "args": ["12"] 54 | } 55 | ], 56 | "ans": "ANS 12" 57 | } 58 | -------------------------------------------------------------------------------- /tasks/Dual/ChimeraX/C-05.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "ChimeraX", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Submit your answer: the number of bonds shown in the base pairs under plain styling.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": [ 12 | "rm", 13 | "/home/user/.local/share/ChimeraX/commands", 14 | "/home/user/.local/share/ChimeraX/file_history", 15 | "/home/user/.local/share/ChimeraX/preregistration" 16 | ] 17 | }, 18 | { 19 | "func": "execute", 20 | "command": "rm -f /home/user/.config/ChimeraX/ui-*", 21 | "shell": true 22 | }, 23 | { 24 | "func": "launch", 25 | "wait": 7.5, 26 | "command": [ 27 | "chimerax", 28 | "--cmd", 29 | "remotecontrol rest start json true port «PORTLIKE»" 30 | ] 31 | }, 32 | { 33 | "func": "clear_log" 34 | }, 35 | { 36 | "func": "open", 37 | "name": "3bna" 38 | }, 39 | { 40 | "func": "turn", 41 | "axis": "y", 42 | "angle": 1 43 | }, 44 | { 45 | "func": "destroy", 46 | "wait": 2.5 47 | } 48 | ], 49 | "evaluate": [ 50 | { 51 | "type": "stop", 52 | "value": "ANS", 53 | "args": ["30"] 54 | } 55 | ], 56 | "ans": "ANS 30" 57 | } 58 | -------------------------------------------------------------------------------- /tasks/Dual/ChimeraX/C-06.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "ChimeraX", 3 | "sort": "VM", 4 | "steps": 10, 5 | "instruction": "What is the distance between two atoms named CD? Answer the question by pure value with two decimal places unitted in Å.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": [ 12 | "rm", 13 | "/home/user/.local/share/ChimeraX/commands", 14 | "/home/user/.local/share/ChimeraX/file_history", 15 | "/home/user/.local/share/ChimeraX/preregistration" 16 | ] 17 | }, 18 | { 19 | "func": "execute", 20 | "command": "rm -f /home/user/.config/ChimeraX/ui-*", 21 | "shell": true 22 | }, 23 | { 24 | "func": "launch", 25 | "wait": 7.5, 26 | "command": [ 27 | "chimerax", 28 | "--cmd", 29 | "remotecontrol rest start json true port «PORTLIKE»" 30 | ] 31 | }, 32 | { 33 | "func": "clear_log" 34 | }, 35 | { 36 | "func": "open", 37 | "name": "2olx" 38 | }, 39 | { 40 | "func": "turn", 41 | "axis": "y", 42 | "angle": 1 43 | }, 44 | { 45 | "func": "destroy", 46 | "wait": 2.5 47 | } 48 | ], 49 | "evaluate": [ 50 | { 51 | "type": "stop", 52 | "value": "ANS", 53 | "args": ["9.39"] 54 | } 55 | ], 56 | "ans": "ANS 9.39" 57 | } 58 | -------------------------------------------------------------------------------- /tasks/Dual/ChimeraX/C-07.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "ChimeraX", 3 | "sort": "VM", 4 | "steps": 10, 5 | "instruction": "What is the angle between /A GLN4 OE1, OXT and GLN 3 OE1? Answer the question by pure value with two decimal places.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": [ 12 | "rm", 13 | "/home/user/.local/share/ChimeraX/commands", 14 | "/home/user/.local/share/ChimeraX/file_history", 15 | "/home/user/.local/share/ChimeraX/preregistration" 16 | ] 17 | }, 18 | { 19 | "func": "execute", 20 | "command": "rm -f /home/user/.config/ChimeraX/ui-*", 21 | "shell": true 22 | }, 23 | { 24 | "func": "launch", 25 | "wait": 7.5, 26 | "command": [ 27 | "chimerax", 28 | "--cmd", 29 | "remotecontrol rest start json true port «PORTLIKE»" 30 | ] 31 | }, 32 | { 33 | "func": "clear_log" 34 | }, 35 | { 36 | "func": "open", 37 | "name": "2olx" 38 | }, 39 | { 40 | "func": "turn", 41 | "axis": "y", 42 | "angle": 1 43 | }, 44 | { 45 | "func": "destroy", 46 | "wait": 2.5 47 | } 48 | ], 49 | "evaluate": [ 50 | { 51 | "type": "stop", 52 | "value": "ANS", 53 | "args": ["109.03"] 54 | } 55 | ], 56 | "ans": "ANS 109.03" 57 | } 58 | -------------------------------------------------------------------------------- /tasks/Raw/Lean/A-01.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Lean", 3 | "sort": "Raw", 4 | "steps": 50, 5 | "penalty": "1:5", 6 | "instruction": "theorem PT_1 {R : Sort u → Sort u → Prop} (h₁ : ∀ x, ∀ y, R x y → R y x) (h₂ : ∀ x, ∀ y, ∀ z, R x y ∧ R y z → R x z) (h₃ : ∀ x, ∃ y, R x y) : ∀ x, R x x := by sorry", 7 | "version": "0.1", 8 | "initialize": [ 9 | { 10 | "func": "import", 11 | "libs": ["Mathlib"] 12 | }, 13 | { 14 | "func": "query", 15 | "expr": "theorem PT_1 {R : Sort u → Sort u → Prop} (h₁ : ∀ x, ∀ y, R x y → R y x) (h₂ : ∀ x, ∀ y, ∀ z, R x y ∧ R y z → R x z) (h₃ : ∀ x, ∃ y, R x y) : ∀ x, R x x := by sorry" 16 | } 17 | ], 18 | "evaluate": [ 19 | { 20 | "type": "placeholder" 21 | } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /tasks/Raw/Lean/A-02.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Lean", 3 | "sort": "Raw", 4 | "steps": 50, 5 | "penalty": "1:5", 6 | "instruction": "theorem PT_2 : ack x (y + 1) < ack (x + 1) y := by sorry", 7 | "version": "0.1", 8 | "initialize": [ 9 | { 10 | "func": "import", 11 | "libs": ["Mathlib"] 12 | }, 13 | { 14 | "func": "query", 15 | "expr": "theorem PT_2 : ack x (y + 1) < ack (x + 1) y := by sorry" 16 | } 17 | ], 18 | "evaluate": [ 19 | { 20 | "type": "placeholder" 21 | } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /tasks/Raw/Lean/A-03.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Lean", 3 | "sort": "Raw", 4 | "steps": 50, 5 | "penalty": "1:5", 6 | "instruction": "theorem ST_1 (X : ZFSet) : ((IsTransitive X) ↔ (X ⊆ powerset X)) ∧ ((IsTransitive X) ↔ ((⋃₀ X : ZFSet) ⊆ X)) := by sorry", 7 | "version": "0.1", 8 | "initialize": [ 9 | { 10 | "func": "import", 11 | "libs": ["Mathlib"] 12 | }, 13 | { 14 | "func": "open", 15 | "libs": ["ZFSet"] 16 | }, 17 | { 18 | "func": "query", 19 | "expr": "theorem ST_1 (X : ZFSet) : ((IsTransitive X) ↔ (X ⊆ powerset X)) ∧ ((IsTransitive X) ↔ ((⋃₀ X : ZFSet) ⊆ X)) := by sorry" 20 | } 21 | ], 22 | "evaluate": [ 23 | { 24 | "type": "placeholder" 25 | } 26 | ] 27 | } 28 | -------------------------------------------------------------------------------- /tasks/Raw/Lean/A-04.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Lean", 3 | "sort": "Raw", 4 | "steps": 50, 5 | "penalty": "1:5", 6 | "instruction": "theorem ST_2 (α : Ordinal) (h₁ : IsLimit α) (h₂ : α < ω_ 1) : α.cof = ℵ := by sorry", 7 | "version": "0.1", 8 | "initialize": [ 9 | { 10 | "func": "import", 11 | "libs": ["Mathlib"] 12 | }, 13 | { 14 | "func": "open", 15 | "libs": ["Ordinal", "Cardinal"] 16 | }, 17 | { 18 | "func": "query", 19 | "expr": "theorem ST_2 (α : Ordinal) (h₁ : IsLimit α) (h₂ : α < ω_ 1) : α.cof = ℵ := by sorry" 20 | } 21 | ], 22 | "evaluate": [ 23 | { 24 | "type": "placeholder" 25 | } 26 | ] 27 | } 28 | -------------------------------------------------------------------------------- /tasks/Raw/Lean/A-05.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Lean", 3 | "sort": "Raw", 4 | "steps": 50, 5 | "penalty": "1:5", 6 | "instruction": "theorem ST_3 (h : 𝔠 > ℵ_ (ord ℵ₁)) : (ℷ (ℵ_ ω) = 2 ^ ℵ₀) ∧ (ℷ (ℵ_ <| ω_ 1) = 2 ^ ℵ₁) := by sorry", 7 | "version": "0.1", 8 | "initialize": [ 9 | { 10 | "func": "import", 11 | "libs": ["Mathlib"] 12 | }, 13 | { 14 | "func": "open", 15 | "libs": ["Ordinal", "Cardinal"] 16 | }, 17 | { 18 | "func": "def", 19 | "expr": "def ℷ (κ : Cardinal) : Cardinal := κ ^ cof κ.ord" 20 | }, 21 | { 22 | "func": "query", 23 | "expr": "theorem ST_3 (h : 𝔠 > ℵ_ (ord ℵ₁)) : (ℷ (ℵ_ ω) = 2 ^ ℵ₀) ∧ (ℷ (ℵ_ <| ω_ 1) = 2 ^ ℵ₁) := by sorry" 24 | } 25 | ], 26 | "evaluate": [ 27 | { 28 | "type": "placeholder" 29 | } 30 | ] 31 | } 32 | -------------------------------------------------------------------------------- /tasks/Raw/Lean/B-01.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Lean", 3 | "sort": "Raw", 4 | "steps": 50, 5 | "penalty": "1:5", 6 | "instruction": "theorem DM_1 {a p : ℕ} (h₁ : Nat.Prime p) (h₂ : Odd a) (h₃ : IsCoprime a p) : (a ^ (p - 1) + (p - 1) ^ a) ≡ 0 [ZMOD p] := by sorry", 7 | "version": "0.1", 8 | "initialize": [ 9 | { 10 | "func": "import", 11 | "libs": ["Mathlib"] 12 | }, 13 | { 14 | "func": "query", 15 | "expr": "theorem DM_1 {a p : ℕ} (h₁ : Nat.Prime p) (h₂ : Odd a) (h₃ : IsCoprime a p) : (a ^ (p - 1) + (p - 1) ^ a) ≡ 0 [ZMOD p] := by sorry" 16 | } 17 | ], 18 | "evaluate": [ 19 | { 20 | "type": "placeholder" 21 | } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /tasks/Raw/Lean/B-02.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Lean", 3 | "sort": "Raw", 4 | "steps": 50, 5 | "penalty": "1:5", 6 | "instruction": "theorem DM_2 {n e : ℕ} {G : SimpleGraph V} [Fintype V] [Fintype G.edgeSet] [DecidableEq V] (h₁ : n = Fintype.card V ∧ e = Fintype.card G.edgeSet) (h₂ : ∀ v₁ : V, ∀ v₂ : V, ∃ w : G.Walk v₁ v₂, w.IsHamiltonian) : n ≥ 4 → 2 * e ≥ 3 * n + 1 := by sorry", 7 | "version": "0.1", 8 | "initialize": [ 9 | { 10 | "func": "import", 11 | "libs": ["Mathlib"] 12 | }, 13 | { 14 | "func": "query", 15 | "expr": "theorem DM_2 {n e : ℕ} {G : SimpleGraph V} [Fintype V] [Fintype G.edgeSet] [DecidableEq V] (h₁ : n = Fintype.card V ∧ e = Fintype.card G.edgeSet) (h₂ : ∀ v₁ : V, ∀ v₂ : V, ∃ w : G.Walk v₁ v₂, w.IsHamiltonian) : n ≥ 4 → 2 * e ≥ 3 * n + 1 := by sorry" 16 | } 17 | ], 18 | "evaluate": [ 19 | { 20 | "type": "placeholder" 21 | } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /tasks/Raw/Lean/B-03.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Lean", 3 | "sort": "Raw", 4 | "steps": 50, 5 | "penalty": "1:5", 6 | "instruction": "theorem DM_3 {L : Language} [L.Structure M₁] [L.Structure M₂] (h : M₁ ≅[L] M₂) : ∃ N : Bundled L.Structure, Nonempty (M₁ ↪ₑ[L] N) ∧ Nonempty (M₂ ↪ₑ[L] N) := by sorry", 7 | "version": "0.1", 8 | "initialize": [ 9 | { 10 | "func": "import", 11 | "libs": ["Mathlib"] 12 | }, 13 | { 14 | "func": "open", 15 | "libs": ["CategoryTheory", "FirstOrder"] 16 | }, 17 | { 18 | "func": "query", 19 | "expr": "theorem DM_3 {L : Language} [L.Structure M₁] [L.Structure M₂] (h : M₁ ≅[L] M₂) : ∃ N : Bundled L.Structure, Nonempty (M₁ ↪ₑ[L] N) ∧ Nonempty (M₂ ↪ₑ[L] N) := by sorry" 20 | } 21 | ], 22 | "evaluate": [ 23 | { 24 | "type": "placeholder" 25 | } 26 | ] 27 | } 28 | -------------------------------------------------------------------------------- /tasks/Raw/Lean/B-04.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Lean", 3 | "sort": "Raw", 4 | "steps": 50, 5 | "penalty": "1:5", 6 | "instruction": "theorem DM_4 [Primcodable α] [Primcodable β] [Primcodable γ] [Primcodable δ] {p : α → Prop} {q : β → Prop} {r : γ → Prop} {s : δ → Prop} (h₁ : ManyOneEquiv p r) (h₂ : ManyOneEquiv q s) : ManyOneEquiv (Sum.elim p q) (Sum.elim r s) := by sorry", 7 | "version": "0.1", 8 | "initialize": [ 9 | { 10 | "func": "import", 11 | "libs": ["Mathlib"] 12 | }, 13 | { 14 | "func": "query", 15 | "expr": "theorem DM_4 [Primcodable α] [Primcodable β] [Primcodable γ] [Primcodable δ] {p : α → Prop} {q : β → Prop} {r : γ → Prop} {s : δ → Prop} (h₁ : ManyOneEquiv p r) (h₂ : ManyOneEquiv q s) : ManyOneEquiv (Sum.elim p q) (Sum.elim r s) := by sorry" 16 | } 17 | ], 18 | "evaluate": [ 19 | { 20 | "type": "placeholder" 21 | } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /tasks/Raw/Lean/B-05.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Lean", 3 | "sort": "Raw", 4 | "steps": 50, 5 | "penalty": "1:5", 6 | "instruction": "theorem AA_1 [Group G] [IsCyclic G] (N : Subgroup G) [Pow (G ⧸ N) ℤ] : IsCyclic (G ⧸ N) := by sorry", 7 | "version": "0.1", 8 | "initialize": [ 9 | { 10 | "func": "import", 11 | "libs": ["Mathlib"] 12 | }, 13 | { 14 | "func": "query", 15 | "expr": "theorem AA_1 [Group G] [IsCyclic G] (N : Subgroup G) [Pow (G ⧸ N) ℤ] : IsCyclic (G ⧸ N) := by sorry" 16 | } 17 | ], 18 | "evaluate": [ 19 | { 20 | "type": "placeholder" 21 | } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /tasks/Raw/Lean/B-06.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Lean", 3 | "sort": "Raw", 4 | "steps": 50, 5 | "penalty": "1:5", 6 | "instruction": "theorem AA_2 [Ring R] (N : Ideal R) [DivisionRing (R ⧸ N)] (a : R) : (∃ t : N, t = a * a) → (∃ t' : N, t' = a) := by sorry", 7 | "version": "0.1", 8 | "initialize": [ 9 | { 10 | "func": "import", 11 | "libs": ["Mathlib"] 12 | }, 13 | { 14 | "func": "query", 15 | "expr": "theorem AA_2 [Ring R] (N : Ideal R) [DivisionRing (R ⧸ N)] (a : R) : (∃ t : N, t = a * a) → (∃ t' : N, t' = a) := by sorry" 16 | } 17 | ], 18 | "evaluate": [ 19 | { 20 | "type": "placeholder" 21 | } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /tasks/Raw/Lean/B-07.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Lean", 3 | "sort": "Raw", 4 | "steps": 50, 5 | "penalty": "1:5", 6 | "instruction": "theorem AA_3 {K E F : Set α} [Field K] [Field E] [Field F] [Algebra F E] [Algebra F K] (h₁ : F ⊆ E) (h₂ : E ⊆ K) (h₃ : Normal F K) : Nonempty (Algebra E K) ∧ ([Algebra E K] → (Normal E K)) := by sorry", 7 | "version": "0.1", 8 | "initialize": [ 9 | { 10 | "func": "import", 11 | "libs": ["Mathlib"] 12 | }, 13 | { 14 | "func": "query", 15 | "expr": "theorem AA_3 {K E F : Set α} [Field K] [Field E] [Field F] [Algebra F E] [Algebra F K] (h₁ : F ⊆ E) (h₂ : E ⊆ K) (h₃ : Normal F K) : Nonempty (Algebra E K) ∧ ([Algebra E K] → (Normal E K)) := by sorry" 16 | } 17 | ], 18 | "evaluate": [ 19 | { 20 | "type": "placeholder" 21 | } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /tasks/Raw/Lean/C-01.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Lean", 3 | "sort": "Raw", 4 | "steps": 50, 5 | "penalty": "1:5", 6 | "instruction": "theorem TP_1 [TopologicalSpace X] [TopologicalSpace Y] (h₁ : X ≃ₜ Y) (h₂ : MetrizableSpace X) : MetrizableSpace Y := by sorry", 7 | "version": "0.1", 8 | "initialize": [ 9 | { 10 | "func": "import", 11 | "libs": ["Mathlib"] 12 | }, 13 | { 14 | "func": "open", 15 | "libs": ["TopologicalSpace"] 16 | }, 17 | { 18 | "func": "query", 19 | "expr": "theorem TP_1 [TopologicalSpace X] [TopologicalSpace Y] (h₁ : X ≃ₜ Y) (h₂ : MetrizableSpace X) : MetrizableSpace Y := by sorry" 20 | } 21 | ], 22 | "evaluate": [ 23 | { 24 | "type": "placeholder" 25 | } 26 | ] 27 | } 28 | -------------------------------------------------------------------------------- /tasks/Raw/Lean/C-02.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Lean", 3 | "sort": "Raw", 4 | "steps": 50, 5 | "penalty": "1:5", 6 | "instruction": "theorem TP_2 [TopologicalSpace X] (A B : Set X) (h : (derivedSet A) ⊆ B ∧ B ⊆ A) : IsClosed B := by sorry", 7 | "version": "0.1", 8 | "initialize": [ 9 | { 10 | "func": "import", 11 | "libs": ["Mathlib"] 12 | }, 13 | { 14 | "func": "query", 15 | "expr": "theorem TP_2 [TopologicalSpace X] (A B : Set X) (h : (derivedSet A) ⊆ B ∧ B ⊆ A) : IsClosed B := by sorry" 16 | } 17 | ], 18 | "evaluate": [ 19 | { 20 | "type": "placeholder" 21 | } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /tasks/Raw/Lean/C-03.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Lean", 3 | "sort": "Raw", 4 | "steps": 50, 5 | "penalty": "1:5", 6 | "instruction": "theorem TP_3 [TopologicalSpace X] [TopologicalSpace Y] (f : X → Y) (Z : Set X) (h₁ : Continuous f) (h₂ : IsConnected Z) : IsConnected {y : Y | ∃ z ∈ Z, f z = y} := by sorry", 7 | "version": "0.1", 8 | "initialize": [ 9 | { 10 | "func": "import", 11 | "libs": ["Mathlib"] 12 | }, 13 | { 14 | "func": "query", 15 | "expr": "theorem TP_3 [TopologicalSpace X] [TopologicalSpace Y] (f : X → Y) (Z : Set X) (h₁ : Continuous f) (h₂ : IsConnected Z) : IsConnected {y : Y | ∃ z ∈ Z, f z = y} := by sorry" 16 | } 17 | ], 18 | "evaluate": [ 19 | { 20 | "type": "placeholder" 21 | } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /tasks/Raw/Lean/C-04.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Lean", 3 | "sort": "Raw", 4 | "steps": 50, 5 | "penalty": "1:5", 6 | "instruction": "theorem TP_4 [𝒯₁ : TopologicalSpace X] [𝒯₂ : TopologicalSpace X] (h : ∀ x : Set X, 𝒯₁.IsOpen x → 𝒯₂.IsOpen x) : (@T0Space X 𝒯₁ → @T0Space X 𝒯₂) ∧ (@T1Space X 𝒯₁ → @T1Space X 𝒯₂) := by sorry", 7 | "version": "0.1", 8 | "initialize": [ 9 | { 10 | "func": "import", 11 | "libs": ["Mathlib"] 12 | }, 13 | { 14 | "func": "query", 15 | "expr": "theorem TP_4 [𝒯₁ : TopologicalSpace X] [𝒯₂ : TopologicalSpace X] (h : ∀ x : Set X, 𝒯₁.IsOpen x → 𝒯₂.IsOpen x) : (@T0Space X 𝒯₁ → @T0Space X 𝒯₂) ∧ (@T1Space X 𝒯₁ → @T1Space X 𝒯₂) := by sorry" 16 | } 17 | ], 18 | "evaluate": [ 19 | { 20 | "type": "placeholder" 21 | } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /tasks/Raw/Lean/C-05.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Lean", 3 | "sort": "Raw", 4 | "steps": 50, 5 | "penalty": "1:5", 6 | "instruction": "theorem TP_5 [TopologicalSpace X] [RegularSpace X] (A Y : Set X) (h₁ : IsCompact A) (h₂ : A ⊆ Y ∧ Y ⊆ Aᶜ) : IsCompact Y := by sorry", 7 | "version": "0.1", 8 | "initialize": [ 9 | { 10 | "func": "import", 11 | "libs": ["Mathlib"] 12 | }, 13 | { 14 | "func": "query", 15 | "expr": "theorem TP_5 [TopologicalSpace X] [RegularSpace X] (A Y : Set X) (h₁ : IsCompact A) (h₂ : A ⊆ Y ∧ Y ⊆ Aᶜ) : IsCompact Y := by sorry" 16 | } 17 | ], 18 | "evaluate": [ 19 | { 20 | "type": "placeholder" 21 | } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /tasks/Raw/Lean/D-01.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Lean", 3 | "sort": "Raw", 4 | "steps": 50, 5 | "penalty": "1:5", 6 | "instruction": "theorem AP_1 (A : ℝ) (f : ℝ → ℝ) (h₁ : A > 0) (h₂ : Tendsto f atBot (𝓝 A)) : ∃ X : ℝ, X > 0 ∧ (∀ x < -X, A < 2 * f x ∧ 2 * f x < 3 * A) := by sorry", 7 | "version": "0.1", 8 | "initialize": [ 9 | { 10 | "func": "import", 11 | "libs": ["Mathlib"] 12 | }, 13 | { 14 | "func": "open", 15 | "libs": ["Filter", "Topology"] 16 | }, 17 | { 18 | "func": "query", 19 | "expr": "theorem AP_1 (A : ℝ) (f : ℝ → ℝ) (h₁ : A > 0) (h₂ : Tendsto f atBot (𝓝 A)) : ∃ X : ℝ, X > 0 ∧ (∀ x < -X, A < 2 * f x ∧ 2 * f x < 3 * A) := by sorry" 20 | } 21 | ], 22 | "evaluate": [ 23 | { 24 | "type": "placeholder" 25 | } 26 | ] 27 | } 28 | -------------------------------------------------------------------------------- /tasks/Raw/Lean/D-02.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Lean", 3 | "sort": "Raw", 4 | "steps": 50, 5 | "penalty": "1:5", 6 | "instruction": "theorem AP_2 (S : Set ℝ) (f f' : ℝ → ℝ) (h₁ : ∀ x ∈ S, HasDerivWithinAt f (f' x) S x) (h₂ : ∃ M : ℝ, ∀ x ∈ S, |f' x| ≤ M) : UniformContinuousOn f S := by sorry", 7 | "version": "0.1", 8 | "initialize": [ 9 | { 10 | "func": "import", 11 | "libs": ["Mathlib"] 12 | }, 13 | { 14 | "func": "query", 15 | "expr": "theorem AP_2 (S : Set ℝ) (f f' : ℝ → ℝ) (h₁ : ∀ x ∈ S, HasDerivWithinAt f (f' x) S x) (h₂ : ∃ M : ℝ, ∀ x ∈ S, |f' x| ≤ M) : UniformContinuousOn f S := by sorry" 16 | } 17 | ], 18 | "evaluate": [ 19 | { 20 | "type": "placeholder" 21 | } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /tasks/Raw/Lean/D-03.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Lean", 3 | "sort": "Raw", 4 | "steps": 50, 5 | "penalty": "1:5", 6 | "instruction": "theorem AP_3 {a b : ℝ} (f : ℝ → ℝ) (h₁ : ContinuousOn f (Icc a b)) (h₂ : (∫ x in a..b, (f x) ^ 2) = 0) : ∀ x ∈ Icc a b, f x = 0 := by sorry", 7 | "version": "0.1", 8 | "initialize": [ 9 | { 10 | "func": "import", 11 | "libs": ["Mathlib"] 12 | }, 13 | { 14 | "func": "open", 15 | "libs": ["Set"] 16 | }, 17 | { 18 | "func": "query", 19 | "expr": "theorem AP_3 {a b : ℝ} (f : ℝ → ℝ) (h₁ : ContinuousOn f (Icc a b)) (h₂ : (∫ x in a..b, (f x) ^ 2) = 0) : ∀ x ∈ Icc a b, f x = 0 := by sorry" 20 | } 21 | ], 22 | "evaluate": [ 23 | { 24 | "type": "placeholder" 25 | } 26 | ] 27 | } 28 | -------------------------------------------------------------------------------- /tasks/Raw/Lean/D-04.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Lean", 3 | "sort": "Raw", 4 | "steps": 50, 5 | "penalty": "1:5", 6 | "instruction": "theorem MT_1 (𝒞 : Set (Set Ω)) (h : #𝒞 = ℵ₀) : #(generateSetAlgebra 𝒞) = ℵ₀ := by sorry", 7 | "version": "0.1", 8 | "initialize": [ 9 | { 10 | "func": "import", 11 | "libs": ["Mathlib"] 12 | }, 13 | { 14 | "func": "open", 15 | "libs": ["Cardinal", "MeasureTheory"] 16 | }, 17 | { 18 | "func": "query", 19 | "expr": "theorem MT_1 (𝒞 : Set (Set Ω)) (h : #𝒞 = ℵ₀) : #(generateSetAlgebra 𝒞) = ℵ₀ := by sorry" 20 | } 21 | ], 22 | "evaluate": [ 23 | { 24 | "type": "placeholder" 25 | } 26 | ] 27 | } 28 | -------------------------------------------------------------------------------- /tasks/Raw/Lean/D-05.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Lean", 3 | "sort": "Raw", 4 | "steps": 50, 5 | "penalty": "1:5", 6 | "instruction": "theorem MT_2 [MeasurableSpace Ω] (μ_ : ℕ → Measure Ω) (f : Set Ω → ℝ≥0∞) (h₁ : ∀ n : ℕ, ∀ A : Set Ω, (μ_ n).measureOf A ≤ (μ_ (n + 1)).measureOf A) (h₂ : ∀ A : Set Ω, Tendsto (fun n => (μ_ n).measureOf A) atTop (𝓝 (f A))) : ∃ μ : Measure Ω, μ.measureOf = f := by sorry", 7 | "version": "0.1", 8 | "initialize": [ 9 | { 10 | "func": "import", 11 | "libs": ["Mathlib"] 12 | }, 13 | { 14 | "func": "open", 15 | "libs": ["MeasureTheory", "ENNReal", "Filter", "Topology"] 16 | }, 17 | { 18 | "func": "query", 19 | "expr": "theorem MT_2 [MeasurableSpace Ω] (μ_ : ℕ → Measure Ω) (f : Set Ω → ℝ≥0∞) (h₁ : ∀ n : ℕ, ∀ A : Set Ω, (μ_ n).measureOf A ≤ (μ_ (n + 1)).measureOf A) (h₂ : ∀ A : Set Ω, Tendsto (fun n => (μ_ n).measureOf A) atTop (𝓝 (f A))) : ∃ μ : Measure Ω, μ.measureOf = f := by sorry" 20 | } 21 | ], 22 | "evaluate": [ 23 | { 24 | "type": "placeholder" 25 | } 26 | ] 27 | } 28 | -------------------------------------------------------------------------------- /tasks/Raw/Lean/D-06.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Lean", 3 | "sort": "Raw", 4 | "steps": 50, 5 | "penalty": "1:5", 6 | "instruction": "theorem MT_3 {a b : ℝ} {μ : Measure <| Icc a b} (f_ : ℕ → Icc a b → ℝ) (f : Icc a b → ℝ) (g : ℝ → ℝ) (h₁ : TendstoInMeasure μ f_ atTop f) (h₂ : ∃ M : ℝ, ∀ x : Icc a b, |f x| < M) (h₃ : ContinuousOn g univ) : TendstoInMeasure μ (fun n => g ∘ (f_ n)) atTop (g ∘ f) := by sorry", 7 | "version": "0.1", 8 | "initialize": [ 9 | { 10 | "func": "import", 11 | "libs": ["Mathlib"] 12 | }, 13 | { 14 | "func": "open", 15 | "libs": ["Set", "MeasureTheory", "Filter"] 16 | }, 17 | { 18 | "func": "query", 19 | "expr": "theorem MT_3 {a b : ℝ} {μ : Measure <| Icc a b} (f_ : ℕ → Icc a b → ℝ) (f : Icc a b → ℝ) (g : ℝ → ℝ) (h₁ : TendstoInMeasure μ f_ atTop f) (h₂ : ∃ M : ℝ, ∀ x : Icc a b, |f x| < M) (h₃ : ContinuousOn g univ) : TendstoInMeasure μ (fun n => g ∘ (f_ n)) atTop (g ∘ f) := by sorry" 20 | } 21 | ], 22 | "evaluate": [ 23 | { 24 | "type": "placeholder" 25 | } 26 | ] 27 | } 28 | -------------------------------------------------------------------------------- /tasks/Raw/Lean/D-07.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Lean", 3 | "sort": "Raw", 4 | "steps": 50, 5 | "penalty": "1:5", 6 | "instruction": "theorem MT_4 [MeasureSpace Ω] [IsProbabilityMeasure (ℙ : Measure Ω)] (X : Ω → ℝ) {p : ℕ} {X : Ω → ℝ} (h₁ : p > 0) (h₂ : Integrable X) (h₃ : ∃ M : ℝ, 𝔼[fun ω => |X ω| ^ p] = M) : Tendsto (fun (x : ℝ) => (x ^ p) * (ℙ {ω : Ω | |X ω| > x}).toReal) atTop (𝓝 0) := by sorry", 7 | "version": "0.1", 8 | "initialize": [ 9 | { 10 | "func": "import", 11 | "libs": ["Mathlib"] 12 | }, 13 | { 14 | "func": "open", 15 | "libs": ["MeasureTheory", "ProbabilityTheory", "Filter", "Topology"] 16 | }, 17 | { 18 | "func": "query", 19 | "expr": "theorem MT_4 [MeasureSpace Ω] [IsProbabilityMeasure (ℙ : Measure Ω)] (X : Ω → ℝ) {p : ℕ} {X : Ω → ℝ} (h₁ : p > 0) (h₂ : Integrable X) (h₃ : ∃ M : ℝ, 𝔼[fun ω => |X ω| ^ p] = M) : Tendsto (fun (x : ℝ) => (x ^ p) * (ℙ {ω : Ω | |X ω| > x}).toReal) atTop (𝓝 0) := by sorry" 20 | } 21 | ], 22 | "evaluate": [ 23 | { 24 | "type": "placeholder" 25 | } 26 | ] 27 | } 28 | -------------------------------------------------------------------------------- /tasks/Raw/Lean/E-01.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Lean", 3 | "sort": "Raw", 4 | "steps": 100, 5 | "penalty": "1:10", 6 | "instruction": "def OP_1 (n : ℤ) : Decidable (∃ a b c d : ℤ, n = a ^ 3 + b ^ 3 + c ^ 3 + d ^ 3) := by sorry", 7 | "version": "0.1", 8 | "initialize": [ 9 | { 10 | "func": "import", 11 | "libs": ["Mathlib"] 12 | }, 13 | { 14 | "func": "query", 15 | "expr": "def OP_1 (n : ℤ) : Decidable (∃ a b c d : ℤ, n = a ^ 3 + b ^ 3 + c ^ 3 + d ^ 3) := by sorry" 16 | } 17 | ], 18 | "evaluate": [ 19 | { 20 | "type": "placeholder" 21 | } 22 | ] 23 | } 24 | -------------------------------------------------------------------------------- /tasks/Raw/Lean/E-02.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Lean", 3 | "sort": "Raw", 4 | "steps": 100, 5 | "penalty": "1:10", 6 | "instruction": "def OP_2 (I : Set (Set α)) (h : ideal I) : Decidable (∃ A ⊆ I, (inter_family A) ∧ (∀ B ⊆ I, (inter_family B) → (#B ≤ #A)) ∧ (star A)) := by sorry", 7 | "version": "0.1", 8 | "initialize": [ 9 | { 10 | "func": "import", 11 | "libs": ["Mathlib"] 12 | }, 13 | { 14 | "func": "open", 15 | "libs": ["Cardinal"] 16 | }, 17 | { 18 | "func": "def", 19 | "expr": "def ideal (I : Set (Set α)) : Prop := ∃ F : Filter α, I = {i : Set α | ∃ f ∈ F.sets, i = fᶜ }" 20 | }, 21 | { 22 | "func": "def", 23 | "expr": "def inter_family (A : Set (Set α)) : Prop := ∀ X ∈ A, ∀ Y ∈ A, (X ∩ Y) ≠ ∅" 24 | }, 25 | { 26 | "func": "def", 27 | "expr": "def star (A : Set (Set α)) : Prop := (⋂ X ∈ A, X) ≠ ∅" 28 | }, 29 | { 30 | "func": "query", 31 | "expr": "def OP_2 (I : Set (Set α)) (h : ideal I) : Decidable (∃ A ⊆ I, (inter_family A) ∧ (∀ B ⊆ I, (inter_family B) → (#B ≤ #A)) ∧ (star A)) := by sorry" 32 | } 33 | ], 34 | "evaluate": [ 35 | { 36 | "type": "placeholder" 37 | } 38 | ] 39 | } 40 | -------------------------------------------------------------------------------- /tasks/Raw/requirements.linux.txt: -------------------------------------------------------------------------------- 1 | wmctrl==0.5 2 | pillow==10.1.0 3 | -------------------------------------------------------------------------------- /tasks/Raw/requirements.win.txt: -------------------------------------------------------------------------------- 1 | pywin32==306 2 | -------------------------------------------------------------------------------- /tasks/VM/Celestia/A-01.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Celestia", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Set the Julian date to 2400000 in Celestia.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "opt", 11 | "depth": 6 12 | }, 13 | { 14 | "func": "launch", 15 | "wait": 10, 16 | "command": "LD_LIBRARY_PATH=/home/user/6.5.0/gcc_64/lib /app/bin/celestia-qt6 «PORTLIKE»", 17 | "shell": true 18 | } 19 | ], 20 | "evaluate": [ 21 | { 22 | "type": "info", 23 | "key": "lambda dump: dump['time']['value']", 24 | "value": 2400000, 25 | "pred": "lambda key, value: abs(key - value) < 0.1" 26 | } 27 | ] 28 | } -------------------------------------------------------------------------------- /tasks/VM/Celestia/A-02.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Celestia", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Adjust the time scale to -20x slower in Celestia.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "opt", 11 | "depth": 6 12 | }, 13 | { 14 | "func": "launch", 15 | "wait": 10, 16 | "command": "LD_LIBRARY_PATH=/home/user/6.5.0/gcc_64/lib /app/bin/celestia-qt6 «PORTLIKE»", 17 | "shell": true 18 | } 19 | ], 20 | "evaluate": [ 21 | { 22 | "type": "info", 23 | "key": "lambda dump: dump['time']['scale']", 24 | "value": 0.05, 25 | "pred": "lambda key, value: abs(key - value) < 0.001" 26 | } 27 | ] 28 | } -------------------------------------------------------------------------------- /tasks/VM/Celestia/A-03.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Celestia", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Display both the equatorial coordinate grid and the horizental coordinate grid at the same time in Celestia.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "opt", 11 | "depth": 6 12 | }, 13 | { 14 | "func": "launch", 15 | "wait": 10, 16 | "command": "LD_LIBRARY_PATH=/home/user/6.5.0/gcc_64/lib /app/bin/celestia-qt6 «PORTLIKE»", 17 | "shell": true 18 | } 19 | ], 20 | "evaluate": [ 21 | { 22 | "type": "info", 23 | "key": "lambda dump: dump['config']['render']['celestialSphere']", 24 | "value": true 25 | }, 26 | { 27 | "type": "info", 28 | "key": "lambda dump: dump['config']['render']['horizonGrid']", 29 | "value": true 30 | } 31 | ] 32 | } -------------------------------------------------------------------------------- /tasks/VM/Celestia/A-04.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Celestia", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Display constellations with their boundries in Celestia.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "opt", 11 | "depth": 6 12 | }, 13 | { 14 | "func": "launch", 15 | "wait": 10, 16 | "command": "LD_LIBRARY_PATH=/home/user/6.5.0/gcc_64/lib /app/bin/celestia-qt6 «PORTLIKE»", 17 | "shell": true 18 | } 19 | ], 20 | "evaluate": [ 21 | { 22 | "type": "info", 23 | "key": "lambda dump: dump['config']['render']['diagrams']", 24 | "value": true 25 | }, 26 | { 27 | "type": "info", 28 | "key": "lambda dump: dump['config']['render']['boundaries']", 29 | "value": true 30 | } 31 | ] 32 | } -------------------------------------------------------------------------------- /tasks/VM/Celestia/A-05.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Celestia", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Display orbits of dwarf planets but not moons in Celestia.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "opt", 11 | "depth": 6 12 | }, 13 | { 14 | "func": "launch", 15 | "wait": 10, 16 | "command": "LD_LIBRARY_PATH=/home/user/6.5.0/gcc_64/lib /app/bin/celestia-qt6 «PORTLIKE»", 17 | "shell": true 18 | } 19 | ], 20 | "evaluate": [ 21 | { 22 | "type": "info", 23 | "key": "lambda dump: dump['config']['render']['orbits']", 24 | "value": true 25 | }, 26 | { 27 | "type": "info", 28 | "key": "lambda dump: dump['config']['orbit']['dwarfPlanet']", 29 | "value": true 30 | }, 31 | { 32 | "type": "info", 33 | "key": "lambda dump: dump['config']['orbit']['moon']", 34 | "value": false 35 | } 36 | ] 37 | } -------------------------------------------------------------------------------- /tasks/VM/Celestia/A-06.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Celestia", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Set the auto magnitude limit at 45 degrees to 9.0 and show labels for stars and open clusters in Celestia.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "opt", 11 | "depth": 6 12 | }, 13 | { 14 | "func": "launch", 15 | "wait": 10, 16 | "command": "LD_LIBRARY_PATH=/home/user/6.5.0/gcc_64/lib /app/bin/celestia-qt6 «PORTLIKE»", 17 | "shell": true 18 | } 19 | ], 20 | "evaluate": [ 21 | { 22 | "type": "info", 23 | "key": "lambda dump: dump['config']['autoMagnitude']", 24 | "value": 9.0, 25 | "pred": "lambda key, value: abs(key - value) < 0.01" 26 | }, 27 | { 28 | "type": "info", 29 | "key": "lambda dump: dump['config']['label']['star']", 30 | "value": true 31 | }, 32 | { 33 | "type": "info", 34 | "key": "lambda dump: dump['config']['label']['openCluster']", 35 | "value": true 36 | } 37 | ] 38 | } -------------------------------------------------------------------------------- /tasks/VM/Celestia/A-07.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Celestia", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Change star style to 'scaled discs' in Celestia.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "opt", 11 | "depth": 6 12 | }, 13 | { 14 | "func": "launch", 15 | "wait": 10, 16 | "command": "LD_LIBRARY_PATH=/home/user/6.5.0/gcc_64/lib /app/bin/celestia-qt6 «PORTLIKE»", 17 | "shell": true 18 | } 19 | ], 20 | "evaluate": [ 21 | { 22 | "type": "info", 23 | "key": "lambda dump: dump['config']['starStyle']", 24 | "value": 2 25 | } 26 | ] 27 | } -------------------------------------------------------------------------------- /tasks/VM/Celestia/A-08.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Celestia", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Change texture resolution to 'high' in Celestia.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "opt", 11 | "depth": 6 12 | }, 13 | { 14 | "func": "launch", 15 | "wait": 10, 16 | "command": "LD_LIBRARY_PATH=/home/user/6.5.0/gcc_64/lib /app/bin/celestia-qt6 «PORTLIKE»", 17 | "shell": true 18 | } 19 | ], 20 | "evaluate": [ 21 | { 22 | "type": "info", 23 | "key": "lambda dump: dump['config']['resolution']", 24 | "value": 2 25 | } 26 | ] 27 | } -------------------------------------------------------------------------------- /tasks/VM/Celestia/B-01.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Celestia", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Hide Mercury in Celestia.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "opt", 11 | "depth": 6 12 | }, 13 | { 14 | "func": "launch", 15 | "wait": 10, 16 | "command": "LD_LIBRARY_PATH=/home/user/6.5.0/gcc_64/lib /app/bin/celestia-qt6 «PORTLIKE»", 17 | "shell": true 18 | } 19 | ], 20 | "query": [ 21 | { 22 | "name": "Mercury", 23 | "type": 2 24 | } 25 | ], 26 | "evaluate": [ 27 | { 28 | "type": "info", 29 | "key": "lambda dump: dump['entity']['Mercury']['hidden']", 30 | "value": true 31 | } 32 | ] 33 | } -------------------------------------------------------------------------------- /tasks/VM/Celestia/B-02.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Celestia", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Go to Neptune in Celestia.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "opt", 11 | "depth": 6 12 | }, 13 | { 14 | "func": "launch", 15 | "wait": 10, 16 | "command": "LD_LIBRARY_PATH=/home/user/6.5.0/gcc_64/lib /app/bin/celestia-qt6 «PORTLIKE»", 17 | "shell": true 18 | } 19 | ], 20 | "query": [ 21 | { 22 | "name": "Neptune", 23 | "type": 2 24 | } 25 | ], 26 | "evaluate": [ 27 | { 28 | "type": "info", 29 | "key": "lambda dump: dump['entity']['Neptune']['distance']", 30 | "value": 0, 31 | "pred": "lambda key, value: abs(key - value) < 150000" 32 | } 33 | ] 34 | } -------------------------------------------------------------------------------- /tasks/VM/Celestia/B-03.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Celestia", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Go to Apollo 9 in Celestia.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "opt", 11 | "depth": 6 12 | }, 13 | { 14 | "func": "launch", 15 | "wait": 10, 16 | "command": "LD_LIBRARY_PATH=/home/user/6.5.0/gcc_64/lib /app/bin/celestia-qt6 «PORTLIKE»", 17 | "shell": true 18 | } 19 | ], 20 | "evaluate": [ 21 | { 22 | "type": "stop", 23 | "value": "FAIL" 24 | } 25 | ] 26 | } -------------------------------------------------------------------------------- /tasks/VM/Celestia/B-04.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Celestia", 3 | "sort": "VM", 4 | "steps": 10, 5 | "instruction": "Go to Orcus and display its velocity vector and planetographic grid in Celestia.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "opt", 11 | "depth": 6 12 | }, 13 | { 14 | "func": "launch", 15 | "wait": 10, 16 | "command": "LD_LIBRARY_PATH=/home/user/6.5.0/gcc_64/lib /app/bin/celestia-qt6 «PORTLIKE»", 17 | "shell": true 18 | } 19 | ], 20 | "query": [ 21 | { 22 | "name": "Orcus", 23 | "type": 2 24 | } 25 | ], 26 | "evaluate": [ 27 | { 28 | "type": "info", 29 | "key": "lambda dump: dump['entity']['Orcus']['distance']", 30 | "value": 0, 31 | "pred": "lambda key, value: abs(key - value) < 3000" 32 | }, 33 | { 34 | "type": "info", 35 | "key": "lambda dump: dump['entity']['Orcus']['mark']['velocityVector']", 36 | "value": true 37 | }, 38 | { 39 | "type": "info", 40 | "key": "lambda dump: dump['entity']['Orcus']['mark']['planetographicGrid']", 41 | "value": true 42 | } 43 | ] 44 | } -------------------------------------------------------------------------------- /tasks/VM/Celestia/B-05.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Celestia", 3 | "sort": "VM", 4 | "steps": 10, 5 | "instruction": "Go to the moon of Eris and display its frame axes and direction vector to sun in Celestia.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "opt", 11 | "depth": 6 12 | }, 13 | { 14 | "func": "launch", 15 | "wait": 10, 16 | "command": "LD_LIBRARY_PATH=/home/user/6.5.0/gcc_64/lib /app/bin/celestia-qt6 «PORTLIKE»", 17 | "shell": true 18 | } 19 | ], 20 | "query": [ 21 | { 22 | "name": "Dysnomia", 23 | "type": 2 24 | } 25 | ], 26 | "evaluate": [ 27 | { 28 | "type": "info", 29 | "key": "lambda dump: dump['entity']['Dysnomia']['distance']", 30 | "value": 0, 31 | "pred": "lambda key, value: abs(key - value) < 3000" 32 | }, 33 | { 34 | "type": "info", 35 | "key": "lambda dump: dump['entity']['Dysnomia']['mark']['frameAxes']", 36 | "value": true 37 | }, 38 | { 39 | "type": "info", 40 | "key": "lambda dump: dump['entity']['Dysnomia']['mark']['sunDirection']", 41 | "value": true 42 | } 43 | ] 44 | } -------------------------------------------------------------------------------- /tasks/VM/Celestia/B-06.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Celestia", 3 | "sort": "VM", 4 | "steps": 10, 5 | "instruction": "Go to the brightest star in absolute magnitude within 20ly of Earth in Celestia.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "opt", 11 | "depth": 6 12 | }, 13 | { 14 | "func": "launch", 15 | "wait": 10, 16 | "command": "LD_LIBRARY_PATH=/home/user/6.5.0/gcc_64/lib /app/bin/celestia-qt6 «PORTLIKE»", 17 | "shell": true 18 | } 19 | ], 20 | "query": [ 21 | { 22 | "name": "Sirius A", 23 | "type": 1 24 | } 25 | ], 26 | "evaluate": [ 27 | { 28 | "type": "info", 29 | "key": "lambda dump: dump['entity']['Sirius A']['distance']", 30 | "value": 0, 31 | "pred": "lambda key, value: abs(key - value) < 170000000" 32 | } 33 | ], 34 | "ans": "Sirius A" 35 | } -------------------------------------------------------------------------------- /tasks/VM/Celestia/B-07.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Celestia", 3 | "sort": "VM", 4 | "steps": 10, 5 | "instruction": "Go to the Andromeda Galaxy with time scale set to 6.25x faster in Celestia.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "opt", 11 | "depth": 6 12 | }, 13 | { 14 | "func": "launch", 15 | "wait": 10, 16 | "command": "LD_LIBRARY_PATH=/home/user/6.5.0/gcc_64/lib /app/bin/celestia-qt6 «PORTLIKE»", 17 | "shell": true 18 | } 19 | ], 20 | "query": [ 21 | { 22 | "name": "Andromeda Galaxy", 23 | "type": 3 24 | } 25 | ], 26 | "evaluate": [ 27 | { 28 | "type": "info", 29 | "key": "lambda dump: dump['entity']['Andromeda Galaxy']['distance']", 30 | "value": 0, 31 | "pred": "lambda key, value: abs(key - value) < 3600000000000000000" 32 | }, 33 | { 34 | "type": "info", 35 | "key": "lambda dump: dump['time']['scale']", 36 | "value": 6.25, 37 | "pred": "lambda key, value: abs(key - value) < 0.001" 38 | } 39 | ] 40 | } -------------------------------------------------------------------------------- /tasks/VM/Celestia/B-08.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Celestia", 3 | "sort": "VM", 4 | "steps": 10, 5 | "instruction": "Approach Callisto and observe Jupiter in Celestia.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "opt", 11 | "depth": 6 12 | }, 13 | { 14 | "func": "launch", 15 | "wait": 10, 16 | "command": "LD_LIBRARY_PATH=/home/user/6.5.0/gcc_64/lib /app/bin/celestia-qt6 «PORTLIKE»", 17 | "shell": true 18 | } 19 | ], 20 | "query": [ 21 | { 22 | "name": "Jupiter", 23 | "type": 2 24 | }, 25 | { 26 | "name": "Callisto", 27 | "type": 2 28 | } 29 | ], 30 | "evaluate": [ 31 | { 32 | "type": "info", 33 | "key": "lambda dump: dump['entity']['Jupiter']['visible']", 34 | "value": true 35 | }, 36 | { 37 | "type": "info", 38 | "key": "lambda dump: dump['entity']['Callisto']['distance']", 39 | "value": 0, 40 | "pred": "lambda key, value: abs(key - value) < 15000" 41 | } 42 | ] 43 | } -------------------------------------------------------------------------------- /tasks/VM/Celestia/B-09.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Celestia", 3 | "sort": "VM", 4 | "steps": 10, 5 | "instruction": "Approach Pluto and observe sol with time stopped in Celestia.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "opt", 11 | "depth": 6 12 | }, 13 | { 14 | "func": "launch", 15 | "wait": 10, 16 | "command": "LD_LIBRARY_PATH=/home/user/6.5.0/gcc_64/lib /app/bin/celestia-qt6 «PORTLIKE»", 17 | "shell": true 18 | } 19 | ], 20 | "query": [ 21 | { 22 | "name": "Sol", 23 | "type": 1 24 | }, 25 | { 26 | "name": "Pluto", 27 | "type": 2 28 | } 29 | ], 30 | "evaluate": [ 31 | { 32 | "type": "info", 33 | "key": "lambda dump: dump['entity']['Sol']['visible']", 34 | "value": true 35 | }, 36 | { 37 | "type": "info", 38 | "key": "lambda dump: dump['entity']['Pluto']['distance']", 39 | "value": 0, 40 | "pred": "lambda key, value: abs(key - value) < 7000" 41 | }, 42 | { 43 | "type": "info", 44 | "key": "lambda dump: dump['time']['pause']", 45 | "value": true 46 | } 47 | ] 48 | } -------------------------------------------------------------------------------- /tasks/VM/Celestia/B-10.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Celestia", 3 | "sort": "VM", 4 | "steps": 10, 5 | "instruction": "Completely display the Earth-Moon system and show both ecliptic lines and the ecliptic coordinate grid in Celestia.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "opt", 11 | "depth": 6 12 | }, 13 | { 14 | "func": "launch", 15 | "wait": 10, 16 | "command": "LD_LIBRARY_PATH=/home/user/6.5.0/gcc_64/lib /app/bin/celestia-qt6 «PORTLIKE»", 17 | "shell": true 18 | } 19 | ], 20 | "query": [ 21 | { 22 | "name": "Earth", 23 | "type": 2 24 | }, 25 | { 26 | "name": "Moon", 27 | "type": 2 28 | } 29 | ], 30 | "evaluate": [ 31 | { 32 | "type": "info", 33 | "key": "lambda dump: dump['entity']['Earth']['visible']", 34 | "value": true 35 | }, 36 | { 37 | "type": "info", 38 | "key": "lambda dump: dump['entity']['Moon']['visible']", 39 | "value": true 40 | }, 41 | { 42 | "type": "info", 43 | "key": "lambda dump: dump['config']['render']['ecliptic']", 44 | "value": true 45 | }, 46 | { 47 | "type": "info", 48 | "key": "lambda dump: dump['config']['render']['eclipticGrid']", 49 | "value": true 50 | } 51 | ] 52 | } -------------------------------------------------------------------------------- /tasks/VM/Celestia/C-01.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Celestia", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "How many moons does Uranus have? Submit your answer without including minor moons.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "opt", 11 | "depth": 6 12 | }, 13 | { 14 | "func": "launch", 15 | "wait": 10, 16 | "command": "LD_LIBRARY_PATH=/home/user/6.5.0/gcc_64/lib /app/bin/celestia-qt6 «PORTLIKE»", 17 | "shell": true 18 | } 19 | ], 20 | "evaluate": [ 21 | { 22 | "type": "stop", 23 | "value": "ANS", 24 | "args": ["5"] 25 | } 26 | ], 27 | "ans": "ANS 5" 28 | } -------------------------------------------------------------------------------- /tasks/VM/Celestia/C-02.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Celestia", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "What is the sidereal rotation period of Hydra in hours? Submit your answer with two decimal places.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "opt", 11 | "depth": 6 12 | }, 13 | { 14 | "func": "launch", 15 | "wait": 10, 16 | "command": "LD_LIBRARY_PATH=/home/user/6.5.0/gcc_64/lib /app/bin/celestia-qt6 «PORTLIKE»", 17 | "shell": true 18 | } 19 | ], 20 | "evaluate": [ 21 | { 22 | "type": "stop", 23 | "value": "ANS", 24 | "args": ["10.31"] 25 | } 26 | ], 27 | "ans": "ANS 10.31" 28 | } -------------------------------------------------------------------------------- /tasks/VM/Celestia/C-03.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Celestia", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Submit your answer: COSPAR ID for Gemini 9A.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "opt", 11 | "depth": 6 12 | }, 13 | { 14 | "func": "launch", 15 | "wait": 10, 16 | "command": "LD_LIBRARY_PATH=/home/user/6.5.0/gcc_64/lib /app/bin/celestia-qt6 «PORTLIKE»", 17 | "shell": true 18 | } 19 | ], 20 | "evaluate": [ 21 | { 22 | "type": "stop", 23 | "value": "ANS", 24 | "args": ["1966-047A"] 25 | } 26 | ], 27 | "ans": "ANS 1966-047A" 28 | } -------------------------------------------------------------------------------- /tasks/VM/Celestia/C-04.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Celestia", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "What is the radius of UVCet? Answer the question unitted in RSun.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "opt", 11 | "depth": 6 12 | }, 13 | { 14 | "func": "launch", 15 | "wait": 10, 16 | "command": "LD_LIBRARY_PATH=/home/user/6.5.0/gcc_64/lib /app/bin/celestia-qt6 «PORTLIKE»", 17 | "shell": true 18 | } 19 | ], 20 | "evaluate": [ 21 | { 22 | "type": "stop", 23 | "value": "ANS", 24 | "args": ["0.16"] 25 | } 26 | ], 27 | "ans": "ANS 0.16" 28 | } -------------------------------------------------------------------------------- /tasks/VM/Celestia/C-05.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Celestia", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Answer the question: the surface temperature in K of the star closest to Sol.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "opt", 11 | "depth": 6 12 | }, 13 | { 14 | "func": "launch", 15 | "wait": 10, 16 | "command": "LD_LIBRARY_PATH=/home/user/6.5.0/gcc_64/lib /app/bin/celestia-qt6 «PORTLIKE»", 17 | "shell": true 18 | } 19 | ], 20 | "evaluate": [ 21 | { 22 | "type": "stop", 23 | "value": "ANS", 24 | "args": ["3060"] 25 | } 26 | ], 27 | "ans": "ANS 3060" 28 | } -------------------------------------------------------------------------------- /tasks/VM/Celestia/C-06.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Celestia", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Answer the question: what is the name of the only star typed in G0?", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "opt", 11 | "depth": 6 12 | }, 13 | { 14 | "func": "launch", 15 | "wait": 10, 16 | "command": "LD_LIBRARY_PATH=/home/user/6.5.0/gcc_64/lib /app/bin/celestia-qt6 «PORTLIKE»", 17 | "shell": true 18 | } 19 | ], 20 | "evaluate": [ 21 | { 22 | "type": "stop", 23 | "value": "ANS", 24 | "args": ["TYC", "2082-2143-1"] 25 | } 26 | ], 27 | "ans": "ANS TYC 2082-2143-1" 28 | } -------------------------------------------------------------------------------- /tasks/VM/Celestia/C-07.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Celestia", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Submit your answer: hubble type of NGC 185.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "opt", 11 | "depth": 6 12 | }, 13 | { 14 | "func": "launch", 15 | "wait": 10, 16 | "command": "LD_LIBRARY_PATH=/home/user/6.5.0/gcc_64/lib /app/bin/celestia-qt6 «PORTLIKE»", 17 | "shell": true 18 | } 19 | ], 20 | "evaluate": [ 21 | { 22 | "type": "stop", 23 | "value": "ANS", 24 | "args": ["E3"] 25 | } 26 | ], 27 | "ans": "ANS E3" 28 | } -------------------------------------------------------------------------------- /tasks/VM/Celestia/C-08.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Celestia", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Answer the question: how many open clusters are recorded in Celestial browser?", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "opt", 11 | "depth": 6 12 | }, 13 | { 14 | "func": "launch", 15 | "wait": 10, 16 | "command": "LD_LIBRARY_PATH=/home/user/6.5.0/gcc_64/lib /app/bin/celestia-qt6 «PORTLIKE»", 17 | "shell": true 18 | } 19 | ], 20 | "evaluate": [ 21 | { 22 | "type": "stop", 23 | "value": "ANS", 24 | "args": ["16176"] 25 | } 26 | ], 27 | "ans": "ANS 16176" 28 | } -------------------------------------------------------------------------------- /tasks/VM/Celestia/C-09.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Celestia", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "What is the apparent magnitude of the galaxy closest to the milky way? Submit your answer with two decimal places.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "opt", 11 | "depth": 6 12 | }, 13 | { 14 | "func": "launch", 15 | "wait": 10, 16 | "command": "LD_LIBRARY_PATH=/home/user/6.5.0/gcc_64/lib /app/bin/celestia-qt6 «PORTLIKE»", 17 | "shell": true 18 | } 19 | ], 20 | "evaluate": [ 21 | { 22 | "type": "stop", 23 | "value": "ANS", 24 | "args": ["4.47"] 25 | } 26 | ], 27 | "ans": "ANS 4.47" 28 | } -------------------------------------------------------------------------------- /tasks/VM/Celestia/C-10.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Celestia", 3 | "sort": "VM", 4 | "steps": 10, 5 | "instruction": "What is the radius of the farthest globular on the list from the milky way in lightyears? Submit your answer with two decimal places.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "opt", 11 | "depth": 6 12 | }, 13 | { 14 | "func": "launch", 15 | "wait": 10, 16 | "command": "LD_LIBRARY_PATH=/home/user/6.5.0/gcc_64/lib /app/bin/celestia-qt6 «PORTLIKE»", 17 | "shell": true 18 | } 19 | ], 20 | "evaluate": [ 21 | { 22 | "type": "stop", 23 | "value": "ANS", 24 | "args": ["801.63"] 25 | } 26 | ], 27 | "ans": "ANS 801.63" 28 | } -------------------------------------------------------------------------------- /tasks/VM/Celestia/D-01.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Celestia", 3 | "sort": "VM", 4 | "steps": 10, 5 | "instruction": "Go to the moon that caused the first solar eclipse in 2095 of Saturn in Celestia.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "opt", 11 | "depth": 6 12 | }, 13 | { 14 | "func": "launch", 15 | "wait": 10, 16 | "command": "LD_LIBRARY_PATH=/home/user/6.5.0/gcc_64/lib /app/bin/celestia-qt6 «PORTLIKE»", 17 | "shell": true 18 | } 19 | ], 20 | "query": [ 21 | { 22 | "name": "Iapetus", 23 | "type": 2 24 | } 25 | ], 26 | "evaluate": [ 27 | { 28 | "type": "info", 29 | "key": "lambda dump: dump['entity']['Iapetus']['distance']", 30 | "value": 0, 31 | "pred": "lambda key, value: abs(key - value) < 4500" 32 | } 33 | ] 34 | } -------------------------------------------------------------------------------- /tasks/VM/Celestia/D-02.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Celestia", 3 | "sort": "VM", 4 | "steps": 15, 5 | "instruction": "Answer the question: on which day of December will the last lunar eclipse occur on Earth in 2056?", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "opt", 11 | "depth": 6 12 | }, 13 | { 14 | "func": "launch", 15 | "wait": 10, 16 | "command": "LD_LIBRARY_PATH=/home/user/6.5.0/gcc_64/lib /app/bin/celestia-qt6 «PORTLIKE»", 17 | "shell": true 18 | } 19 | ], 20 | "evaluate": [ 21 | { 22 | "type": "stop", 23 | "value": "ANS", 24 | "args": ["21"] 25 | } 26 | ], 27 | "ans": "ANS 21" 28 | } -------------------------------------------------------------------------------- /tasks/VM/Celestia/D-03.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Celestia", 3 | "sort": "VM", 4 | "steps": 15, 5 | "instruction": "What is the difference value in viewing angle between the Sun and the Earth when viewed from Mars on May 28, 2150? Submit your answer with one decimal place.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "opt", 11 | "depth": 6 12 | }, 13 | { 14 | "func": "launch", 15 | "wait": 10, 16 | "command": "LD_LIBRARY_PATH=/home/user/6.5.0/gcc_64/lib /app/bin/celestia-qt6 «PORTLIKE»", 17 | "shell": true 18 | } 19 | ], 20 | "evaluate": [ 21 | { 22 | "type": "stop", 23 | "value": "ANS", 24 | "args": ["30.5"] 25 | } 26 | ], 27 | "ans": "ANS 30.5" 28 | } -------------------------------------------------------------------------------- /tasks/VM/ChimeraX/A-01.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "ChimeraX", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Fetch 2OLX from PDB in ChimeraX.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": [ 12 | "rm", 13 | "/home/user/.local/share/ChimeraX/commands", 14 | "/home/user/.local/share/ChimeraX/file_history", 15 | "/home/user/.local/share/ChimeraX/preregistration" 16 | ] 17 | }, 18 | { 19 | "func": "execute", 20 | "command": "rm -f /home/user/.config/ChimeraX/ui-*", 21 | "shell": true 22 | }, 23 | { 24 | "func": "launch", 25 | "wait": 7.5, 26 | "command": [ 27 | "chimerax", 28 | "--cmd", 29 | "remotecontrol rest start json true port «PORTLIKE»" 30 | ] 31 | }, 32 | { 33 | "func": "clear_log" 34 | } 35 | ], 36 | "evaluate": [ 37 | { 38 | "type": "states", 39 | "key": "_state_containers.models._models.(1,)._name", 40 | "value": "2olx" 41 | } 42 | ] 43 | } 44 | -------------------------------------------------------------------------------- /tasks/VM/ChimeraX/A-02.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "ChimeraX", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Load ~/Downloads/prot.cif in ChimeraX.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": [ 12 | "rm", 13 | "/home/user/.local/share/ChimeraX/commands", 14 | "/home/user/.local/share/ChimeraX/file_history", 15 | "/home/user/.local/share/ChimeraX/preregistration" 16 | ] 17 | }, 18 | { 19 | "func": "execute", 20 | "command": "rm -f /home/user/.config/ChimeraX/ui-*", 21 | "shell": true 22 | }, 23 | { 24 | "func": "launch", 25 | "wait": 7.5, 26 | "command": [ 27 | "chimerax", 28 | "--cmd", 29 | "remotecontrol rest start json true port «PORTLIKE»" 30 | ] 31 | }, 32 | { 33 | "func": "clear_log" 34 | }, 35 | { 36 | "func": "download", 37 | "url": "https://files.rcsb.org/download/3ppd.cif", 38 | "path": "/home/user/Downloads/prot.cif" 39 | } 40 | ], 41 | "evaluate": [ 42 | { 43 | "type": "states", 44 | "key": "_state_containers.models._models.(1,)._name", 45 | "value": "prot.cif" 46 | } 47 | ] 48 | } 49 | -------------------------------------------------------------------------------- /tasks/VM/ChimeraX/A-03.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "ChimeraX", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Change the display of the model to ball and stick style in ChimeraX.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": [ 12 | "rm", 13 | "/home/user/.local/share/ChimeraX/commands", 14 | "/home/user/.local/share/ChimeraX/file_history", 15 | "/home/user/.local/share/ChimeraX/preregistration" 16 | ] 17 | }, 18 | { 19 | "func": "execute", 20 | "command": "rm -f /home/user/.config/ChimeraX/ui-*", 21 | "shell": true 22 | }, 23 | { 24 | "func": "launch", 25 | "wait": 7.5, 26 | "command": [ 27 | "chimerax", 28 | "--cmd", 29 | "remotecontrol rest start json true port «PORTLIKE»" 30 | ] 31 | }, 32 | { 33 | "func": "clear_log" 34 | }, 35 | { 36 | "func": "open", 37 | "name": "3ppd" 38 | }, 39 | { 40 | "func": "turn", 41 | "axis": "y", 42 | "angle": 1 43 | } 44 | ], 45 | "evaluate": [ 46 | { 47 | "type": "states", 48 | "key": "_state_containers.models._models.(1,)._redraw_needed.cached_drawing_bounds.xyz_min", 49 | "value": "[ -0.30499998 -5.4719996 -11.4869995 ]" 50 | } 51 | ] 52 | } 53 | -------------------------------------------------------------------------------- /tasks/VM/ChimeraX/A-07.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "ChimeraX", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Change the background to grey color in ChimeraX.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": [ 12 | "rm", 13 | "/home/user/.local/share/ChimeraX/commands", 14 | "/home/user/.local/share/ChimeraX/file_history", 15 | "/home/user/.local/share/ChimeraX/preregistration" 16 | ] 17 | }, 18 | { 19 | "func": "execute", 20 | "command": "rm -f /home/user/.config/ChimeraX/ui-*", 21 | "shell": true 22 | }, 23 | { 24 | "func": "launch", 25 | "wait": 7.5, 26 | "command": [ 27 | "chimerax", 28 | "--cmd", 29 | "remotecontrol rest start json true port «PORTLIKE»" 30 | ] 31 | }, 32 | { 33 | "func": "clear_log" 34 | }, 35 | { 36 | "func": "open", 37 | "name": "1dns" 38 | }, 39 | { 40 | "func": "turn", 41 | "axis": "y", 42 | "angle": 1 43 | } 44 | ], 45 | "evaluate": [ 46 | { 47 | "type": "states", 48 | "key": "_state_containers.models._models.(1,)._atoms_drawing._draw_shape.bindings._opengl_context.window.view._background_rgba", 49 | "value": "[0.5019608 0.5019608 0.5019608 0. ]" 50 | } 51 | ] 52 | } 53 | -------------------------------------------------------------------------------- /tasks/VM/ChimeraX/A-11.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "ChimeraX", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Show nucleotides as ladders of H-bond in ChimeraX.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": [ 12 | "rm", 13 | "/home/user/.local/share/ChimeraX/commands", 14 | "/home/user/.local/share/ChimeraX/file_history", 15 | "/home/user/.local/share/ChimeraX/preregistration" 16 | ] 17 | }, 18 | { 19 | "func": "execute", 20 | "command": "rm -f /home/user/.config/ChimeraX/ui-*", 21 | "shell": true 22 | }, 23 | { 24 | "func": "launch", 25 | "wait": 7.5, 26 | "command": [ 27 | "chimerax", 28 | "--cmd", 29 | "remotecontrol rest start json true port «PORTLIKE»" 30 | ] 31 | }, 32 | { 33 | "func": "clear_log" 34 | }, 35 | { 36 | "func": "open", 37 | "name": "3bna" 38 | }, 39 | { 40 | "func": "turn", 41 | "axis": "y", 42 | "angle": 1 43 | } 44 | ], 45 | "evaluate": [ 46 | { 47 | "type": "states", 48 | "key": "_state_containers.models._models.(1,)._ladder_params.stubs_only", 49 | "value": false 50 | } 51 | ] 52 | } 53 | -------------------------------------------------------------------------------- /tasks/VM/ChimeraX/B-07.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "ChimeraX", 3 | "sort": "VM", 4 | "steps": 10, 5 | "instruction": "Add hydrogens with method of 'steric only' in ChimeraX.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": [ 12 | "rm", 13 | "/home/user/.local/share/ChimeraX/commands", 14 | "/home/user/.local/share/ChimeraX/file_history", 15 | "/home/user/.local/share/ChimeraX/preregistration" 16 | ] 17 | }, 18 | { 19 | "func": "execute", 20 | "command": "rm -f /home/user/.config/ChimeraX/ui-*", 21 | "shell": true 22 | }, 23 | { 24 | "func": "launch", 25 | "wait": 7.5, 26 | "command": [ 27 | "chimerax", 28 | "--cmd", 29 | "remotecontrol rest start json true port «PORTLIKE»" 30 | ] 31 | }, 32 | { 33 | "func": "clear_log" 34 | }, 35 | { 36 | "func": "open", 37 | "name": "4r0u" 38 | }, 39 | { 40 | "func": "turn", 41 | "axis": "y", 42 | "angle": 1 43 | } 44 | ], 45 | "evaluate": [ 46 | { 47 | "type": "states", 48 | "find": "lambda key, value: key.endswith('page_source')", 49 | "key": "lambda key: key", 50 | "pattern": "termini:
61 hydrogens added" 51 | } 52 | ] 53 | } 54 | -------------------------------------------------------------------------------- /tasks/VM/ChimeraX/B-08.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "ChimeraX", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Define the axes by water molecules of /A HOH 107 and /A HOH 108 in ChimeraX.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": [ 12 | "rm", 13 | "/home/user/.local/share/ChimeraX/commands", 14 | "/home/user/.local/share/ChimeraX/file_history", 15 | "/home/user/.local/share/ChimeraX/preregistration" 16 | ] 17 | }, 18 | { 19 | "func": "execute", 20 | "command": "rm -f /home/user/.config/ChimeraX/ui-*", 21 | "shell": true 22 | }, 23 | { 24 | "func": "launch", 25 | "wait": 7.5, 26 | "command": [ 27 | "chimerax", 28 | "--cmd", 29 | "remotecontrol rest start json true port «PORTLIKE»" 30 | ] 31 | }, 32 | { 33 | "func": "clear_log" 34 | }, 35 | { 36 | "func": "open", 37 | "name": "4r0u" 38 | }, 39 | { 40 | "func": "turn", 41 | "axis": "y", 42 | "angle": 1 43 | } 44 | ], 45 | "evaluate": [ 46 | { 47 | "type": "stop", 48 | "value": "FAIL" 49 | } 50 | ] 51 | } 52 | -------------------------------------------------------------------------------- /tasks/VM/ChimeraX/C-01.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "ChimeraX", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Answer the question: what is the name of residue id /A:6?", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": [ 12 | "rm", 13 | "/home/user/.local/share/ChimeraX/commands", 14 | "/home/user/.local/share/ChimeraX/file_history", 15 | "/home/user/.local/share/ChimeraX/preregistration" 16 | ] 17 | }, 18 | { 19 | "func": "execute", 20 | "command": "rm -f /home/user/.config/ChimeraX/ui-*", 21 | "shell": true 22 | }, 23 | { 24 | "func": "launch", 25 | "wait": 7.5, 26 | "command": [ 27 | "chimerax", 28 | "--cmd", 29 | "remotecontrol rest start json true port «PORTLIKE»" 30 | ] 31 | }, 32 | { 33 | "func": "clear_log" 34 | }, 35 | { 36 | "func": "open", 37 | "name": "3ppd" 38 | }, 39 | { 40 | "func": "turn", 41 | "axis": "y", 42 | "angle": 1 43 | } 44 | ], 45 | "evaluate": [ 46 | { 47 | "type": "stop", 48 | "value": "ANS", 49 | "args": ["ASN"] 50 | } 51 | ], 52 | "ans": "ANS ASN" 53 | } 54 | -------------------------------------------------------------------------------- /tasks/VM/ChimeraX/C-02.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "ChimeraX", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Submit your answer: the number of oxygen atoms in the current model.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": [ 12 | "rm", 13 | "/home/user/.local/share/ChimeraX/commands", 14 | "/home/user/.local/share/ChimeraX/file_history", 15 | "/home/user/.local/share/ChimeraX/preregistration" 16 | ] 17 | }, 18 | { 19 | "func": "execute", 20 | "command": "rm -f /home/user/.config/ChimeraX/ui-*", 21 | "shell": true 22 | }, 23 | { 24 | "func": "launch", 25 | "wait": 7.5, 26 | "command": [ 27 | "chimerax", 28 | "--cmd", 29 | "remotecontrol rest start json true port «PORTLIKE»" 30 | ] 31 | }, 32 | { 33 | "func": "clear_log" 34 | }, 35 | { 36 | "func": "open", 37 | "name": "2olx" 38 | }, 39 | { 40 | "func": "turn", 41 | "axis": "y", 42 | "angle": 1 43 | } 44 | ], 45 | "evaluate": [ 46 | { 47 | "type": "stop", 48 | "value": "ANS", 49 | "args": ["9"] 50 | } 51 | ], 52 | "ans": "ANS 9" 53 | } 54 | -------------------------------------------------------------------------------- /tasks/VM/ChimeraX/C-03.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "ChimeraX", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Submit your answer: DNA sequence of Chain A in upper case.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": [ 12 | "rm", 13 | "/home/user/.local/share/ChimeraX/commands", 14 | "/home/user/.local/share/ChimeraX/file_history", 15 | "/home/user/.local/share/ChimeraX/preregistration" 16 | ] 17 | }, 18 | { 19 | "func": "execute", 20 | "command": "rm -f /home/user/.config/ChimeraX/ui-*", 21 | "shell": true 22 | }, 23 | { 24 | "func": "launch", 25 | "wait": 7.5, 26 | "command": [ 27 | "chimerax", 28 | "--cmd", 29 | "remotecontrol rest start json true port «PORTLIKE»" 30 | ] 31 | }, 32 | { 33 | "func": "clear_log" 34 | }, 35 | { 36 | "func": "open", 37 | "name": "251d" 38 | }, 39 | { 40 | "func": "turn", 41 | "axis": "y", 42 | "angle": 1 43 | } 44 | ], 45 | "evaluate": [ 46 | { 47 | "type": "stop", 48 | "value": "ANS", 49 | "args": ["CTCGAG"] 50 | } 51 | ], 52 | "ans": "ANS CTCGAG" 53 | } 54 | -------------------------------------------------------------------------------- /tasks/VM/ChimeraX/C-04.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "ChimeraX", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Submit your answer: the number of Hydrogen atoms in /A:1.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": [ 12 | "rm", 13 | "/home/user/.local/share/ChimeraX/commands", 14 | "/home/user/.local/share/ChimeraX/file_history", 15 | "/home/user/.local/share/ChimeraX/preregistration" 16 | ] 17 | }, 18 | { 19 | "func": "execute", 20 | "command": "rm -f /home/user/.config/ChimeraX/ui-*", 21 | "shell": true 22 | }, 23 | { 24 | "func": "launch", 25 | "wait": 7.5, 26 | "command": [ 27 | "chimerax", 28 | "--cmd", 29 | "remotecontrol rest start json true port «PORTLIKE»" 30 | ] 31 | }, 32 | { 33 | "func": "clear_log" 34 | }, 35 | { 36 | "func": "open", 37 | "name": "4r0u" 38 | }, 39 | { 40 | "func": "turn", 41 | "axis": "y", 42 | "angle": 1 43 | } 44 | ], 45 | "evaluate": [ 46 | { 47 | "type": "stop", 48 | "value": "ANS", 49 | "args": ["12"] 50 | } 51 | ], 52 | "ans": "ANS 12" 53 | } 54 | -------------------------------------------------------------------------------- /tasks/VM/ChimeraX/C-05.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "ChimeraX", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Submit your answer: the number of bonds shown in the base pairs under plain styling.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": [ 12 | "rm", 13 | "/home/user/.local/share/ChimeraX/commands", 14 | "/home/user/.local/share/ChimeraX/file_history", 15 | "/home/user/.local/share/ChimeraX/preregistration" 16 | ] 17 | }, 18 | { 19 | "func": "execute", 20 | "command": "rm -f /home/user/.config/ChimeraX/ui-*", 21 | "shell": true 22 | }, 23 | { 24 | "func": "launch", 25 | "wait": 7.5, 26 | "command": [ 27 | "chimerax", 28 | "--cmd", 29 | "remotecontrol rest start json true port «PORTLIKE»" 30 | ] 31 | }, 32 | { 33 | "func": "clear_log" 34 | }, 35 | { 36 | "func": "open", 37 | "name": "3bna" 38 | }, 39 | { 40 | "func": "turn", 41 | "axis": "y", 42 | "angle": 1 43 | } 44 | ], 45 | "evaluate": [ 46 | { 47 | "type": "stop", 48 | "value": "ANS", 49 | "args": ["30"] 50 | } 51 | ], 52 | "ans": "ANS 30" 53 | } 54 | -------------------------------------------------------------------------------- /tasks/VM/ChimeraX/C-06.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "ChimeraX", 3 | "sort": "VM", 4 | "steps": 10, 5 | "instruction": "What is the distance between two atoms named CD? Answer the question by pure value with two decimal places unitted in Å.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": [ 12 | "rm", 13 | "/home/user/.local/share/ChimeraX/commands", 14 | "/home/user/.local/share/ChimeraX/file_history", 15 | "/home/user/.local/share/ChimeraX/preregistration" 16 | ] 17 | }, 18 | { 19 | "func": "execute", 20 | "command": "rm -f /home/user/.config/ChimeraX/ui-*", 21 | "shell": true 22 | }, 23 | { 24 | "func": "launch", 25 | "wait": 7.5, 26 | "command": [ 27 | "chimerax", 28 | "--cmd", 29 | "remotecontrol rest start json true port «PORTLIKE»" 30 | ] 31 | }, 32 | { 33 | "func": "clear_log" 34 | }, 35 | { 36 | "func": "open", 37 | "name": "2olx" 38 | }, 39 | { 40 | "func": "turn", 41 | "axis": "y", 42 | "angle": 1 43 | } 44 | ], 45 | "evaluate": [ 46 | { 47 | "type": "stop", 48 | "value": "ANS", 49 | "args": ["9.39"] 50 | } 51 | ], 52 | "ans": "ANS 9.39" 53 | } 54 | -------------------------------------------------------------------------------- /tasks/VM/ChimeraX/C-07.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "ChimeraX", 3 | "sort": "VM", 4 | "steps": 10, 5 | "instruction": "What is the angle between /A GLN4 OE1, OXT and GLN 3 OE1? Answer the question by pure value with two decimal places.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": [ 12 | "rm", 13 | "/home/user/.local/share/ChimeraX/commands", 14 | "/home/user/.local/share/ChimeraX/file_history", 15 | "/home/user/.local/share/ChimeraX/preregistration" 16 | ] 17 | }, 18 | { 19 | "func": "execute", 20 | "command": "rm -f /home/user/.config/ChimeraX/ui-*", 21 | "shell": true 22 | }, 23 | { 24 | "func": "launch", 25 | "wait": 7.5, 26 | "command": [ 27 | "chimerax", 28 | "--cmd", 29 | "remotecontrol rest start json true port «PORTLIKE»" 30 | ] 31 | }, 32 | { 33 | "func": "clear_log" 34 | }, 35 | { 36 | "func": "open", 37 | "name": "2olx" 38 | }, 39 | { 40 | "func": "turn", 41 | "axis": "y", 42 | "angle": 1 43 | } 44 | ], 45 | "evaluate": [ 46 | { 47 | "type": "stop", 48 | "value": "ANS", 49 | "args": ["109.03"] 50 | } 51 | ], 52 | "ans": "ANS 109.03" 53 | } 54 | -------------------------------------------------------------------------------- /tasks/VM/GrassGIS/A-01.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "GrassGIS", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Switch to natural_earth_dataset and load countries@PERMANENT in Grass GIS.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": "rm -rf /home/user/grassdata/*/*/.gislock", 12 | "shell": true 13 | }, 14 | { 15 | "func": "launch", 16 | "wait": 5, 17 | "command": "gnome-terminal -- /bin/bash -ic \"FLASK_PORT=8000 grass --gui /home/user/grassdata/world_latlong_wgs84/PERMANENT\"", 18 | "shell": true 19 | } 20 | ], 21 | "evaluate": [ 22 | { 23 | "type": "info", 24 | "key": "lambda dump: dump['layers']", 25 | "value": "countries@PERMANENT", 26 | "pred": "lambda key, value: any([item['name'] == value for item in key])" 27 | } 28 | ] 29 | } -------------------------------------------------------------------------------- /tasks/VM/GrassGIS/A-02.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "GrassGIS", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Delete the current layer and load countries@PERMANENT in Grass GIS.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": "rm -rf /home/user/grassdata/*/*/.gislock", 12 | "shell": true 13 | }, 14 | { 15 | "func": "launch", 16 | "wait": 5, 17 | "command": "gnome-terminal -- /bin/bash -ic \"FLASK_PORT=8000 grass --gui /home/user/grassdata/world_latlong_wgs84/PERMANENT\"", 18 | "shell": true 19 | }, 20 | { 21 | "func": "map", 22 | "grassdb": "/home/user/grassdata", 23 | "location": "natural_earth_dataset", 24 | "mapset": "PERMANENT" 25 | }, 26 | { 27 | "func": "layer", 28 | "wait": 5, 29 | "query": { 30 | "name": "natural_earth" 31 | } 32 | } 33 | ], 34 | "evaluate": [ 35 | { 36 | "type": "info", 37 | "key": "lambda dump: dump['layers']", 38 | "value": "natural_earth@PERMANENT", 39 | "pred": "lambda key, value: all([item['name'] != value for item in key])" 40 | }, 41 | { 42 | "type": "info", 43 | "key": "lambda dump: dump['layers']", 44 | "value": "countries@PERMANENT", 45 | "pred": "lambda key, value: any([item['name'] == value for item in key])" 46 | } 47 | ] 48 | } -------------------------------------------------------------------------------- /tasks/VM/GrassGIS/A-03.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "GrassGIS", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Hide the toolbar of Map Display 1 in Grass GIS.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": "rm -rf /home/user/grassdata/*/*/.gislock", 12 | "shell": true 13 | }, 14 | { 15 | "func": "launch", 16 | "wait": 5, 17 | "command": "gnome-terminal -- /bin/bash -ic \"FLASK_PORT=8000 grass --gui /home/user/grassdata/world_latlong_wgs84/PERMANENT\"", 18 | "shell": true 19 | }, 20 | { 21 | "func": "map", 22 | "grassdb": "/home/user/grassdata", 23 | "location": "natural_earth_dataset", 24 | "mapset": "PERMANENT" 25 | } 26 | ], 27 | "evaluate": [ 28 | { 29 | "type": "info", 30 | "key": "lambda dump: dump['toolbars']['shown']", 31 | "value": false 32 | } 33 | ] 34 | } -------------------------------------------------------------------------------- /tasks/VM/GrassGIS/A-04.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "GrassGIS", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Enter the editing interface of the current layer in Grass GIS.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": "rm -rf /home/user/grassdata/*/*/.gislock", 12 | "shell": true 13 | }, 14 | { 15 | "func": "launch", 16 | "wait": 5, 17 | "command": "gnome-terminal -- /bin/bash -ic \"FLASK_PORT=8000 grass --gui /home/user/grassdata/world_latlong_wgs84/PERMANENT\"", 18 | "shell": true 19 | }, 20 | { 21 | "func": "map", 22 | "grassdb": "/home/user/grassdata", 23 | "location": "natural_earth_dataset", 24 | "mapset": "PERMANENT" 25 | }, 26 | { 27 | "func": "layer", 28 | "wait": 5, 29 | "query": { 30 | "name": "countries" 31 | } 32 | } 33 | ], 34 | "evaluate": [ 35 | { 36 | "type": "info", 37 | "key": "lambda dump: dump['toolbars']['keys']", 38 | "value": "vdigit", 39 | "pred": "lambda key, value: value in key" 40 | }, 41 | { 42 | "type": "info", 43 | "key": "lambda dump: dump['toolbars']['layer']['name']", 44 | "value": "countries@PERMANENT" 45 | } 46 | ] 47 | } -------------------------------------------------------------------------------- /tasks/VM/GrassGIS/A-05.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "GrassGIS", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Switch the status bar to display rows and cols data in Grass GIS.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": "rm -rf /home/user/grassdata/*/*/.gislock", 12 | "shell": true 13 | }, 14 | { 15 | "func": "launch", 16 | "wait": 5, 17 | "command": "gnome-terminal -- /bin/bash -ic \"FLASK_PORT=8000 grass --gui /home/user/grassdata/world_latlong_wgs84/PERMANENT\"", 18 | "shell": true 19 | }, 20 | { 21 | "func": "map", 22 | "grassdb": "/home/user/grassdata", 23 | "location": "natural_earth_dataset", 24 | "mapset": "PERMANENT" 25 | }, 26 | { 27 | "func": "layer", 28 | "wait": 5, 29 | "query": { 30 | "name": "countries" 31 | } 32 | } 33 | ], 34 | "evaluate": [ 35 | { 36 | "type": "info", 37 | "key": "lambda dump: dump['statusbar']['mode']", 38 | "value": 3 39 | } 40 | ] 41 | } -------------------------------------------------------------------------------- /tasks/VM/GrassGIS/A-06.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "GrassGIS", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Switch the map scale to 1:400 in Grass GIS.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": "rm -rf /home/user/grassdata/*/*/.gislock", 12 | "shell": true 13 | }, 14 | { 15 | "func": "launch", 16 | "wait": 5, 17 | "command": "gnome-terminal -- /bin/bash -ic \"FLASK_PORT=8000 grass --gui /home/user/grassdata/world_latlong_wgs84/PERMANENT\"", 18 | "shell": true 19 | }, 20 | { 21 | "func": "map", 22 | "grassdb": "/home/user/grassdata", 23 | "location": "natural_earth_dataset", 24 | "mapset": "PERMANENT" 25 | }, 26 | { 27 | "func": "layer", 28 | "wait": 5, 29 | "query": { 30 | "name": "countries" 31 | } 32 | } 33 | ], 34 | "evaluate": [ 35 | { 36 | "type": "info", 37 | "key": "lambda dump: dump['statusbar']['scale']", 38 | "value": 400, 39 | "pred": "lambda key, value: abs(key - value) < 0.1" 40 | } 41 | ] 42 | } -------------------------------------------------------------------------------- /tasks/VM/GrassGIS/A-07.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "GrassGIS", 3 | "sort": "VM", 4 | "steps": 10, 5 | "instruction": "Move the center point to 25°E, 20°N in Grass GIS.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": "rm -rf /home/user/grassdata/*/*/.gislock", 12 | "shell": true 13 | }, 14 | { 15 | "func": "launch", 16 | "wait": 5, 17 | "command": "gnome-terminal -- /bin/bash -ic \"FLASK_PORT=8000 grass --gui /home/user/grassdata/world_latlong_wgs84/PERMANENT\"", 18 | "shell": true 19 | }, 20 | { 21 | "func": "map", 22 | "grassdb": "/home/user/grassdata", 23 | "location": "natural_earth_dataset", 24 | "mapset": "PERMANENT" 25 | }, 26 | { 27 | "func": "layer", 28 | "wait": 5, 29 | "query": { 30 | "name": "countries" 31 | } 32 | } 33 | ], 34 | "evaluate": [ 35 | { 36 | "type": "info", 37 | "key": "lambda dump: dump['region']['center_easting']", 38 | "value": 25, 39 | "pred": "lambda key, value: abs((key % 360) - value) < 0.1" 40 | }, 41 | { 42 | "type": "info", 43 | "key": "lambda dump: dump['region']['center_northing']", 44 | "value": 20, 45 | "pred": "lambda key, value: abs(key - value) < 0.1" 46 | } 47 | ] 48 | } -------------------------------------------------------------------------------- /tasks/VM/GrassGIS/A-09.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "GrassGIS", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Which type of maps is more than the other in grassdata_piemonte_utm32n_wgs84_grass7/PERMANENT? Answer the question via either `ANS raster` or `ANS vector`.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": "rm -rf /home/user/grassdata/*/*/.gislock", 12 | "shell": true 13 | }, 14 | { 15 | "func": "launch", 16 | "wait": 5, 17 | "command": "gnome-terminal -- /bin/bash -ic \"FLASK_PORT=8000 grass --gui /home/user/grassdata/world_latlong_wgs84/PERMANENT\"", 18 | "shell": true 19 | }, 20 | { 21 | "func": "map", 22 | "grassdb": "/home/user/grassdata", 23 | "location": "natural_earth_dataset", 24 | "mapset": "PERMANENT" 25 | } 26 | ], 27 | "evaluate": [ 28 | { 29 | "type": "stop", 30 | "value": "ANS", 31 | "args": ["vector"] 32 | } 33 | ], 34 | "ans": "ANS vector" 35 | } -------------------------------------------------------------------------------- /tasks/VM/GrassGIS/A-10.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "GrassGIS", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "How many provinces are there in Piemonte? Submit your answer via an integer.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": "rm -rf /home/user/grassdata/*/*/.gislock", 12 | "shell": true 13 | }, 14 | { 15 | "func": "launch", 16 | "wait": 5, 17 | "command": "gnome-terminal -- /bin/bash -ic \"FLASK_PORT=8000 grass --gui /home/user/grassdata/world_latlong_wgs84/PERMANENT\"", 18 | "shell": true 19 | }, 20 | { 21 | "func": "map", 22 | "grassdb": "/home/user/grassdata", 23 | "location": "grassdata_piemonte_utm32n_wgs84_grass7", 24 | "mapset": "PERMANENT" 25 | }, 26 | { 27 | "func": "layer", 28 | "wait": 5, 29 | "query": { 30 | "name": "boundary_region" 31 | } 32 | } 33 | ], 34 | "evaluate": [ 35 | { 36 | "type": "stop", 37 | "value": "ANS", 38 | "args": ["8"] 39 | } 40 | ], 41 | "ans": "ANS 8" 42 | } -------------------------------------------------------------------------------- /tasks/VM/GrassGIS/B-01.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "GrassGIS", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Set the transparency to between 48 and 52 in Grass GIS.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": "rm -rf /home/user/grassdata/*/*/.gislock", 12 | "shell": true 13 | }, 14 | { 15 | "func": "launch", 16 | "wait": 5, 17 | "command": "gnome-terminal -- /bin/bash -ic \"FLASK_PORT=8000 grass --gui /home/user/grassdata/world_latlong_wgs84/PERMANENT\"", 18 | "shell": true 19 | }, 20 | { 21 | "func": "map", 22 | "grassdb": "/home/user/grassdata", 23 | "location": "natural_earth_dataset", 24 | "mapset": "PERMANENT" 25 | }, 26 | { 27 | "func": "layer", 28 | "wait": 5, 29 | "query": { 30 | "name": "countries" 31 | } 32 | } 33 | ], 34 | "evaluate": [ 35 | { 36 | "type": "info", 37 | "key": "lambda dump: [item for item in dump['layers'] if item['name'] == 'countries@PERMANENT']", 38 | "value": [0.48, 0.52], 39 | "pred": "lambda key, value: key[0]['opacity'] > value[0] and key[0]['opacity'] < value[1]" 40 | } 41 | ] 42 | } -------------------------------------------------------------------------------- /tasks/VM/GrassGIS/B-02.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "GrassGIS", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Change the name of the current layer into 'country_boundaries' in Grass GIS.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": "rm -rf /home/user/grassdata/*/*/.gislock", 12 | "shell": true 13 | }, 14 | { 15 | "func": "launch", 16 | "wait": 5, 17 | "command": "gnome-terminal -- /bin/bash -ic \"FLASK_PORT=8000 grass --gui /home/user/grassdata/world_latlong_wgs84/PERMANENT\"", 18 | "shell": true 19 | }, 20 | { 21 | "func": "map", 22 | "grassdb": "/home/user/grassdata", 23 | "location": "natural_earth_dataset", 24 | "mapset": "PERMANENT" 25 | }, 26 | { 27 | "func": "layer", 28 | "wait": 5, 29 | "query": { 30 | "name": "countries" 31 | } 32 | } 33 | ], 34 | "evaluate": [ 35 | { 36 | "type": "info", 37 | "key": "lambda dump: [item for item in dump['windows'] if item['name'] == 'countries@PERMANENT']", 38 | "value": "country_boundaries", 39 | "pred": "lambda key, value: key[0]['_text'] == value" 40 | } 41 | ] 42 | } -------------------------------------------------------------------------------- /tasks/VM/GrassGIS/B-03.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "GrassGIS", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Display category number and topology information of the current map in Grass GIS.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": "rm -rf /home/user/grassdata/*/*/.gislock", 12 | "shell": true 13 | }, 14 | { 15 | "func": "launch", 16 | "wait": 5, 17 | "command": "gnome-terminal -- /bin/bash -ic \"FLASK_PORT=8000 grass --gui /home/user/grassdata/world_latlong_wgs84/PERMANENT\"", 18 | "shell": true 19 | }, 20 | { 21 | "func": "map", 22 | "grassdb": "/home/user/grassdata", 23 | "location": "grassdata_piemonte_utm32n_wgs84_grass7", 24 | "mapset": "PERMANENT" 25 | }, 26 | { 27 | "func": "layer", 28 | "wait": 5, 29 | "query": { 30 | "name": "boundary_region" 31 | } 32 | } 33 | ], 34 | "evaluate": [ 35 | { 36 | "type": "info", 37 | "key": "lambda dump: [param for param in [item for item in dump['windows'] if item['name'] == 'boundary_region@PERMANENT'][0]['_data'][1]['params'] if param['name'] == 'display']", 38 | "value": ["cat", "topo"], 39 | "pred": "lambda key, value: all([val in key[0]['value'] for val in value])" 40 | } 41 | ] 42 | } -------------------------------------------------------------------------------- /tasks/VM/GrassGIS/B-04.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "GrassGIS", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Change the area color to gray, whose RGB = (191, 191, 191) in Grass GIS.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": "rm -rf /home/user/grassdata/*/*/.gislock", 12 | "shell": true 13 | }, 14 | { 15 | "func": "launch", 16 | "wait": 5, 17 | "command": "gnome-terminal -- /bin/bash -ic \"FLASK_PORT=8000 grass --gui /home/user/grassdata/world_latlong_wgs84/PERMANENT\"", 18 | "shell": true 19 | }, 20 | { 21 | "func": "map", 22 | "grassdb": "/home/user/grassdata", 23 | "location": "grassdata_piemonte_utm32n_wgs84_grass7", 24 | "mapset": "PERMANENT" 25 | }, 26 | { 27 | "func": "layer", 28 | "wait": 5, 29 | "query": { 30 | "name": "boundary_region" 31 | } 32 | } 33 | ], 34 | "evaluate": [ 35 | { 36 | "type": "info", 37 | "key": "lambda dump: [param for param in [item for item in dump['windows'] if item['name'] == 'boundary_region@PERMANENT'][0]['_data'][1]['params'] if param['name'] == 'fill_color']", 38 | "value": "191:191:191:255", 39 | "pred": "lambda key, value: key[0]['value'] == value" 40 | } 41 | ] 42 | } -------------------------------------------------------------------------------- /tasks/VM/GrassGIS/B-05.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "GrassGIS", 3 | "sort": "VM", 4 | "steps": 10, 5 | "instruction": "Load the major roads of Piemonte and change their color to pure white in Grass GIS.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": "rm -rf /home/user/grassdata/*/*/.gislock", 12 | "shell": true 13 | }, 14 | { 15 | "func": "launch", 16 | "wait": 5, 17 | "command": "gnome-terminal -- /bin/bash -ic \"FLASK_PORT=8000 grass --gui /home/user/grassdata/world_latlong_wgs84/PERMANENT\"", 18 | "shell": true 19 | }, 20 | { 21 | "func": "map", 22 | "grassdb": "/home/user/grassdata", 23 | "location": "grassdata_piemonte_utm32n_wgs84_grass7", 24 | "mapset": "PERMANENT" 25 | }, 26 | { 27 | "func": "layer", 28 | "wait": 5, 29 | "query": { 30 | "name": "boundary_region" 31 | } 32 | } 33 | ], 34 | "evaluate": [ 35 | { 36 | "type": "info", 37 | "key": "lambda dump: [param for param in [item for item in dump['windows'] if item['name'] == 'roadsmajor@PERMANENT'][0]['_data'][1]['params'] if param['name'] == 'color']", 38 | "value": "255:255:255:255", 39 | "pred": "lambda key, value: key[0]['value'] == value" 40 | } 41 | ] 42 | } -------------------------------------------------------------------------------- /tasks/VM/GrassGIS/B-06.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "GrassGIS", 3 | "sort": "VM", 4 | "steps": 10, 5 | "instruction": "Load the railways of Piemonte with a line width of 2 in Grass GIS.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": "rm -rf /home/user/grassdata/*/*/.gislock", 12 | "shell": true 13 | }, 14 | { 15 | "func": "launch", 16 | "wait": 5, 17 | "command": "gnome-terminal -- /bin/bash -ic \"FLASK_PORT=8000 grass --gui /home/user/grassdata/world_latlong_wgs84/PERMANENT\"", 18 | "shell": true 19 | }, 20 | { 21 | "func": "map", 22 | "grassdb": "/home/user/grassdata", 23 | "location": "grassdata_piemonte_utm32n_wgs84_grass7", 24 | "mapset": "PERMANENT" 25 | }, 26 | { 27 | "func": "layer", 28 | "wait": 5, 29 | "query": { 30 | "name": "boundary_region" 31 | } 32 | } 33 | ], 34 | "evaluate": [ 35 | { 36 | "type": "info", 37 | "key": "lambda dump: [param for param in [item for item in dump['windows'] if item['name'] == 'railroads@PERMANENT'][0]['_data'][1]['params'] if param['name'] == 'width']", 38 | "value": "2", 39 | "pred": "lambda key, value: key[0]['value'] == value" 40 | } 41 | ] 42 | } -------------------------------------------------------------------------------- /tasks/VM/GrassGIS/B-07.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "GrassGIS", 3 | "sort": "VM", 4 | "steps": 10, 5 | "instruction": "Mark all fire stations in Piemonte with flag icons in Grass GIS.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": "rm -rf /home/user/grassdata/*/*/.gislock", 12 | "shell": true 13 | }, 14 | { 15 | "func": "launch", 16 | "wait": 5, 17 | "command": "gnome-terminal -- /bin/bash -ic \"FLASK_PORT=8000 grass --gui /home/user/grassdata/world_latlong_wgs84/PERMANENT\"", 18 | "shell": true 19 | }, 20 | { 21 | "func": "map", 22 | "grassdb": "/home/user/grassdata", 23 | "location": "grassdata_piemonte_utm32n_wgs84_grass7", 24 | "mapset": "PERMANENT" 25 | }, 26 | { 27 | "func": "layer", 28 | "wait": 5, 29 | "query": { 30 | "name": "boundary_region" 31 | } 32 | } 33 | ], 34 | "evaluate": [ 35 | { 36 | "type": "info", 37 | "key": "lambda dump: [param for param in [item for item in dump['windows'] if item['name'] == 'firestations@PERMANENT'][0]['_data'][1]['params'] if param['name'] == 'icon']", 38 | "value": "basic/marker", 39 | "pred": "lambda key, value: key[0]['value'] == value" 40 | } 41 | ] 42 | } -------------------------------------------------------------------------------- /tasks/VM/GrassGIS/B-08.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "GrassGIS", 3 | "sort": "VM", 4 | "steps": 10, 5 | "instruction": "Mark all hospitals in Piemonte with a marker size of 10 in Grass GIS.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": "rm -rf /home/user/grassdata/*/*/.gislock", 12 | "shell": true 13 | }, 14 | { 15 | "func": "launch", 16 | "wait": 5, 17 | "command": "gnome-terminal -- /bin/bash -ic \"FLASK_PORT=8000 grass --gui /home/user/grassdata/world_latlong_wgs84/PERMANENT\"", 18 | "shell": true 19 | }, 20 | { 21 | "func": "map", 22 | "grassdb": "/home/user/grassdata", 23 | "location": "grassdata_piemonte_utm32n_wgs84_grass7", 24 | "mapset": "PERMANENT" 25 | }, 26 | { 27 | "func": "layer", 28 | "wait": 5, 29 | "query": { 30 | "name": "boundary_region" 31 | } 32 | } 33 | ], 34 | "evaluate": [ 35 | { 36 | "type": "info", 37 | "key": "lambda dump: [param for param in [item for item in dump['windows'] if item['name'] == 'hospitals@PERMANENT'][0]['_data'][1]['params'] if param['name'] == 'size']", 38 | "value": "10", 39 | "pred": "lambda key, value: key[0]['value'] == value" 40 | } 41 | ] 42 | } -------------------------------------------------------------------------------- /tasks/VM/GrassGIS/B-09.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "GrassGIS", 3 | "sort": "VM", 4 | "steps": 10, 5 | "instruction": "Mark all and only all schools that are confirmed to be wheelchair accessible in Grass GIS.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": "rm -rf /home/user/grassdata/*/*/.gislock", 12 | "shell": true 13 | }, 14 | { 15 | "func": "launch", 16 | "wait": 5, 17 | "command": "gnome-terminal -- /bin/bash -ic \"FLASK_PORT=8000 grass --gui /home/user/grassdata/world_latlong_wgs84/PERMANENT\"", 18 | "shell": true 19 | }, 20 | { 21 | "func": "map", 22 | "grassdb": "/home/user/grassdata", 23 | "location": "grassdata_piemonte_utm32n_wgs84_grass7", 24 | "mapset": "PERMANENT" 25 | }, 26 | { 27 | "func": "layer", 28 | "wait": 5, 29 | "query": { 30 | "name": "boundary_region" 31 | } 32 | } 33 | ], 34 | "evaluate": [ 35 | { 36 | "type": "info", 37 | "key": "lambda dump: [param for param in [item for item in dump['windows'] if item['name'] == 'schools@PERMANENT'][0]['_data'][1]['params'] if param['name'] == 'where']", 38 | "value": ["wheelchair", "=", "yes"], 39 | "pred": "lambda key, value: all([val in key[0]['value'] for val in value])" 40 | } 41 | ] 42 | } -------------------------------------------------------------------------------- /tasks/VM/GrassGIS/B-11.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "GrassGIS", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Output the metadata of the current map in Grass GIS.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": "rm -rf /home/user/grassdata/*/*/.gislock", 12 | "shell": true 13 | }, 14 | { 15 | "func": "launch", 16 | "wait": 5, 17 | "command": "gnome-terminal -- /bin/bash -ic \"FLASK_PORT=8000 grass --gui /home/user/grassdata/world_latlong_wgs84/PERMANENT\"", 18 | "shell": true 19 | }, 20 | { 21 | "func": "map", 22 | "grassdb": "/home/user/grassdata", 23 | "location": "grassdata_piemonte_utm32n_wgs84_grass7", 24 | "mapset": "PERMANENT" 25 | }, 26 | { 27 | "func": "layer", 28 | "wait": 5, 29 | "query": { 30 | "name": "boundary_region" 31 | } 32 | } 33 | ], 34 | "evaluate": [ 35 | { 36 | "type": "info", 37 | "key": "lambda dump: dump['output']", 38 | "value": "v.info map=boundary_region@PERMANENT", 39 | "pred": "lambda key, value: value in key" 40 | } 41 | ] 42 | } -------------------------------------------------------------------------------- /tasks/VM/GrassGIS/B-12.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "GrassGIS", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Perform univariate raster statistics on lake map in Grass GIS.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": "rm -rf /home/user/grassdata/*/*/.gislock", 12 | "shell": true 13 | }, 14 | { 15 | "func": "launch", 16 | "wait": 5, 17 | "command": "gnome-terminal -- /bin/bash -ic \"FLASK_PORT=8000 grass --gui /home/user/grassdata/world_latlong_wgs84/PERMANENT\"", 18 | "shell": true 19 | }, 20 | { 21 | "func": "map", 22 | "grassdb": "/home/user/grassdata", 23 | "location": "grassdata_piemonte_utm32n_wgs84_grass7", 24 | "mapset": "PERMANENT" 25 | }, 26 | { 27 | "func": "layer", 28 | "wait": 5, 29 | "query": { 30 | "name": "boundary_region" 31 | } 32 | } 33 | ], 34 | "evaluate": [ 35 | { 36 | "type": "info", 37 | "key": "lambda dump: dump['output']", 38 | "value": "n: 263975", 39 | "pred": "lambda key, value: value in key" 40 | } 41 | ] 42 | } -------------------------------------------------------------------------------- /tasks/VM/GrassGIS/B-13.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "GrassGIS", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Report raster statistics on current map in Grass GIS.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": "rm -rf /home/user/grassdata/*/*/.gislock", 12 | "shell": true 13 | }, 14 | { 15 | "func": "launch", 16 | "wait": 5, 17 | "command": "gnome-terminal -- /bin/bash -ic \"FLASK_PORT=8000 grass --gui /home/user/grassdata/world_latlong_wgs84/PERMANENT\"", 18 | "shell": true 19 | }, 20 | { 21 | "func": "map", 22 | "grassdb": "/home/user/grassdata", 23 | "location": "grassdata_piemonte_utm32n_wgs84_grass7", 24 | "mapset": "PERMANENT" 25 | }, 26 | { 27 | "func": "layer", 28 | "wait": 5, 29 | "query": { 30 | "name": "boundary_region" 31 | } 32 | } 33 | ], 34 | "evaluate": [ 35 | { 36 | "type": "stop", 37 | "value": "FAIL" 38 | } 39 | ] 40 | } -------------------------------------------------------------------------------- /tasks/VM/GrassGIS/C-01.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "GrassGIS", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Submit your answer: number of the least developed regions in the current mapset.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": "rm -rf /home/user/grassdata/*/*/.gislock", 12 | "shell": true 13 | }, 14 | { 15 | "func": "launch", 16 | "wait": 5, 17 | "command": "gnome-terminal -- /bin/bash -ic \"FLASK_PORT=8000 grass --gui /home/user/grassdata/world_latlong_wgs84/PERMANENT\"", 18 | "shell": true 19 | }, 20 | { 21 | "func": "map", 22 | "grassdb": "/home/user/grassdata", 23 | "location": "natural_earth_dataset", 24 | "mapset": "PERMANENT" 25 | } 26 | ], 27 | "evaluate": [ 28 | { 29 | "type": "stop", 30 | "value": "ANS", 31 | "args": ["61"] 32 | } 33 | ], 34 | "ans": "ANS 61" 35 | } -------------------------------------------------------------------------------- /tasks/VM/GrassGIS/C-02.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "GrassGIS", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "What is the provincial administrative region corresponding to 35.319°N? Answer the question in local language.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": "rm -rf /home/user/grassdata/*/*/.gislock", 12 | "shell": true 13 | }, 14 | { 15 | "func": "launch", 16 | "wait": 5, 17 | "command": "gnome-terminal -- /bin/bash -ic \"FLASK_PORT=8000 grass --gui /home/user/grassdata/world_latlong_wgs84/PERMANENT\"", 18 | "shell": true 19 | }, 20 | { 21 | "func": "map", 22 | "grassdb": "/home/user/grassdata", 23 | "location": "natural_earth_dataset", 24 | "mapset": "PERMANENT" 25 | } 26 | ], 27 | "evaluate": [ 28 | { 29 | "type": "stop", 30 | "value": "ANS", 31 | "args": ["경상남도"] 32 | } 33 | ], 34 | "ans": "ANS 경상남도" 35 | } -------------------------------------------------------------------------------- /tasks/VM/GrassGIS/C-03.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "GrassGIS", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Submit your answer: name of the fire station located in Corso Regina Margherita in the current mapset.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": "rm -rf /home/user/grassdata/*/*/.gislock", 12 | "shell": true 13 | }, 14 | { 15 | "func": "launch", 16 | "wait": 5, 17 | "command": "gnome-terminal -- /bin/bash -ic \"FLASK_PORT=8000 grass --gui /home/user/grassdata/world_latlong_wgs84/PERMANENT\"", 18 | "shell": true 19 | }, 20 | { 21 | "func": "map", 22 | "grassdb": "/home/user/grassdata", 23 | "location": "grassdata_piemonte_utm32n_wgs84_grass7", 24 | "mapset": "PERMANENT" 25 | } 26 | ], 27 | "evaluate": [ 28 | { 29 | "type": "stop", 30 | "value": "ANS", 31 | "args": ["Vigili", "del", "Fuoco"] 32 | } 33 | ], 34 | "ans": "ANS Vigili del Fuoco" 35 | } -------------------------------------------------------------------------------- /tasks/VM/GrassGIS/C-04.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "GrassGIS", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Submit your answer: number of hospitals in ASTI according to the current mapset.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": "rm -rf /home/user/grassdata/*/*/.gislock", 12 | "shell": true 13 | }, 14 | { 15 | "func": "launch", 16 | "wait": 5, 17 | "command": "gnome-terminal -- /bin/bash -ic \"FLASK_PORT=8000 grass --gui /home/user/grassdata/world_latlong_wgs84/PERMANENT\"", 18 | "shell": true 19 | }, 20 | { 21 | "func": "map", 22 | "grassdb": "/home/user/grassdata", 23 | "location": "grassdata_piemonte_utm32n_wgs84_grass7", 24 | "mapset": "PERMANENT" 25 | } 26 | ], 27 | "evaluate": [ 28 | { 29 | "type": "stop", 30 | "value": "ANS", 31 | "args": ["6"] 32 | } 33 | ], 34 | "ans": "ANS 6" 35 | } -------------------------------------------------------------------------------- /tasks/VM/GrassGIS/C-05.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "GrassGIS", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Submit your answer: post code of the school called Scuola superiore N.Rosa.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": "rm -rf /home/user/grassdata/*/*/.gislock", 12 | "shell": true 13 | }, 14 | { 15 | "func": "launch", 16 | "wait": 5, 17 | "command": "gnome-terminal -- /bin/bash -ic \"FLASK_PORT=8000 grass --gui /home/user/grassdata/world_latlong_wgs84/PERMANENT\"", 18 | "shell": true 19 | }, 20 | { 21 | "func": "map", 22 | "grassdb": "/home/user/grassdata", 23 | "location": "grassdata_piemonte_utm32n_wgs84_grass7", 24 | "mapset": "PERMANENT" 25 | } 26 | ], 27 | "evaluate": [ 28 | { 29 | "type": "stop", 30 | "value": "ANS", 31 | "args": ["10053"] 32 | } 33 | ], 34 | "ans": "ANS 10053" 35 | } -------------------------------------------------------------------------------- /tasks/VM/GrassGIS/C-06.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "GrassGIS", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "How many POIs are marked as Christian among the 3609 POIs in the current mapset? Answer the question via an integer.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": "rm -rf /home/user/grassdata/*/*/.gislock", 12 | "shell": true 13 | }, 14 | { 15 | "func": "launch", 16 | "wait": 5, 17 | "command": "gnome-terminal -- /bin/bash -ic \"FLASK_PORT=8000 grass --gui /home/user/grassdata/world_latlong_wgs84/PERMANENT\"", 18 | "shell": true 19 | }, 20 | { 21 | "func": "map", 22 | "grassdb": "/home/user/grassdata", 23 | "location": "grassdata_piemonte_utm32n_wgs84_grass7", 24 | "mapset": "PERMANENT" 25 | } 26 | ], 27 | "evaluate": [ 28 | { 29 | "type": "stop", 30 | "value": "ANS", 31 | "args": ["360"] 32 | } 33 | ], 34 | "ans": "ANS 360" 35 | } -------------------------------------------------------------------------------- /tasks/VM/GrassGIS/C-07.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "GrassGIS", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "What is the feature code of Capanna Margherita among 10146 geonames in the current mapset? Submit your answer in upper case.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": "rm -rf /home/user/grassdata/*/*/.gislock", 12 | "shell": true 13 | }, 14 | { 15 | "func": "launch", 16 | "wait": 5, 17 | "command": "gnome-terminal -- /bin/bash -ic \"FLASK_PORT=8000 grass --gui /home/user/grassdata/world_latlong_wgs84/PERMANENT\"", 18 | "shell": true 19 | }, 20 | { 21 | "func": "map", 22 | "grassdb": "/home/user/grassdata", 23 | "location": "grassdata_piemonte_utm32n_wgs84_grass7", 24 | "mapset": "PERMANENT" 25 | } 26 | ], 27 | "evaluate": [ 28 | { 29 | "type": "stop", 30 | "value": "ANS", 31 | "args": ["CMP"] 32 | } 33 | ], 34 | "ans": "ANS CMP" 35 | } -------------------------------------------------------------------------------- /tasks/VM/GrassGIS/D-01.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "GrassGIS", 3 | "sort": "VM", 4 | "steps": 10, 5 | "instruction": "Add a column named 'COLOR' to the current map with the type to be `varchar` in Grass GIS.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": "rm -rf /home/user/grassdata/*/*/.gislock", 12 | "shell": true 13 | }, 14 | { 15 | "func": "launch", 16 | "wait": 5, 17 | "command": "gnome-terminal -- /bin/bash -ic \"FLASK_PORT=8000 grass --gui /home/user/grassdata/world_latlong_wgs84/PERMANENT\"", 18 | "shell": true 19 | }, 20 | { 21 | "func": "map", 22 | "grassdb": "/home/user/grassdata", 23 | "location": "grassdata_piemonte_utm32n_wgs84_grass7", 24 | "mapset": "PERMANENT" 25 | }, 26 | { 27 | "func": "layer", 28 | "wait": 5, 29 | "query": { 30 | "name": "boundary_region" 31 | } 32 | } 33 | ], 34 | "evaluate": [ 35 | { 36 | "type": "db", 37 | "cmd": "v.db.select", 38 | "kwargs": { 39 | "map": "boundary_region@PERMANENT", 40 | "format": "json" 41 | }, 42 | "key": "lambda out: out['info']['columns']", 43 | "value": { 44 | "name": "COLOR", 45 | "sql_type": "CHARACTER" 46 | }, 47 | "pred": "lambda key, value: any([item['name'] == value['name'] and item['sql_type'] == value['sql_type'] for item in key])" 48 | } 49 | ] 50 | } -------------------------------------------------------------------------------- /tasks/VM/GrassGIS/D-02.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "GrassGIS", 3 | "sort": "VM", 4 | "steps": 10, 5 | "instruction": "Delete the column named 'ISTAT' in the current map in Grass GIS.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": "rm -rf /home/user/grassdata/*/*/.gislock", 12 | "shell": true 13 | }, 14 | { 15 | "func": "launch", 16 | "wait": 5, 17 | "command": "gnome-terminal -- /bin/bash -ic \"FLASK_PORT=8000 grass --gui /home/user/grassdata/world_latlong_wgs84/PERMANENT\"", 18 | "shell": true 19 | }, 20 | { 21 | "func": "map", 22 | "grassdb": "/home/user/grassdata", 23 | "location": "grassdata_piemonte_utm32n_wgs84_grass7", 24 | "mapset": "PERMANENT" 25 | }, 26 | { 27 | "func": "layer", 28 | "wait": 5, 29 | "query": { 30 | "name": "boundary_region" 31 | } 32 | } 33 | ], 34 | "evaluate": [ 35 | { 36 | "type": "db", 37 | "cmd": "v.db.select", 38 | "kwargs": { 39 | "map": "boundary_region@PERMANENT", 40 | "format": "json" 41 | }, 42 | "key": "lambda out: out['info']['columns']", 43 | "value": "ISTAT", 44 | "pred": "lambda key, value: all([item['name'] != value for item in key])" 45 | } 46 | ] 47 | } -------------------------------------------------------------------------------- /tasks/VM/GrassGIS/D-03.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "GrassGIS", 3 | "sort": "VM", 4 | "steps": 10, 5 | "instruction": "There is only one POI whose start date contains both month and day in the current mapset. Delete them and only keep the year data in Grass GIS.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": "rm -rf /home/user/grassdata/*/*/.gislock", 12 | "shell": true 13 | }, 14 | { 15 | "func": "launch", 16 | "wait": 5, 17 | "command": "gnome-terminal -- /bin/bash -ic \"FLASK_PORT=8000 grass --gui /home/user/grassdata/world_latlong_wgs84/PERMANENT\"", 18 | "shell": true 19 | }, 20 | { 21 | "func": "map", 22 | "grassdb": "/home/user/grassdata", 23 | "location": "grassdata_piemonte_utm32n_wgs84_grass7", 24 | "mapset": "PERMANENT" 25 | }, 26 | { 27 | "func": "layer", 28 | "wait": 5, 29 | "query": { 30 | "name": "boundary_region" 31 | } 32 | } 33 | ], 34 | "evaluate": [ 35 | { 36 | "type": "db", 37 | "cmd": "v.db.select", 38 | "kwargs": { 39 | "map": "points_of_interest@PERMANENT", 40 | "format": "json" 41 | }, 42 | "key": "lambda out: [item for item in out['records'] if item['name'] == 'Guglielmo Pepe']", 43 | "value": "1858", 44 | "pred": "lambda key, value: key[0]['start_date'] == value" 45 | } 46 | ] 47 | } -------------------------------------------------------------------------------- /tasks/VM/GrassGIS/D-04.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "GrassGIS", 3 | "sort": "VM", 4 | "steps": 15, 5 | "instruction": "There is a point located in the Mediterranean Sea. Please find and delete it.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "execute", 11 | "command": "rm -rf /home/user/grassdata/*/*/.gislock", 12 | "shell": true 13 | }, 14 | { 15 | "func": "launch", 16 | "wait": 5, 17 | "command": "gnome-terminal -- /bin/bash -ic \"FLASK_PORT=8000 grass --gui /home/user/grassdata/world_latlong_wgs84/PERMANENT\"", 18 | "shell": true 19 | }, 20 | { 21 | "func": "map", 22 | "grassdb": "/home/user/grassdata", 23 | "location": "natural_earth_dataset", 24 | "mapset": "PERMANENT" 25 | }, 26 | { 27 | "func": "layer", 28 | "wait": 5, 29 | "query": { 30 | "name": "countries" 31 | } 32 | } 33 | ], 34 | "evaluate": [ 35 | { 36 | "type": "db", 37 | "cmd": "v.to.db", 38 | "kwargs": { 39 | "flags": "p", 40 | "map": "countries@PERMANENT", 41 | "type": "point", 42 | "option": "coor" 43 | }, 44 | "key": "lambda out: out.strip()", 45 | "value": "cat|x|y|z\n257|-79.1050308691105|8.348947891274|0", 46 | "pred": "lambda key, value: key == value" 47 | } 48 | ] 49 | } -------------------------------------------------------------------------------- /tasks/VM/KAlgebra/A-01.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "KAlgebra", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Calculate the conjugate of (1 + i) in KAlgebra and store the answer in variable `p`.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "launch", 11 | "wait": 2.5, 12 | "command": "LD_LIBRARY_PATH=/home/user/6.5.0/gcc_64/lib /app/bin/kalgebra «PORTLIKE»", 13 | "shell": true 14 | } 15 | ], 16 | "evaluate": [ 17 | { 18 | "type": "var", 19 | "key": "p", 20 | "value": "1+-i" 21 | } 22 | ], 23 | "ans": "p := conjugate(1+i)" 24 | } -------------------------------------------------------------------------------- /tasks/VM/KAlgebra/A-04.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "KAlgebra", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Answer the question: name of the built-in function which calculate the inverse of a matrix.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "launch", 11 | "wait": 2.5, 12 | "command": "LD_LIBRARY_PATH=/home/user/6.5.0/gcc_64/lib /app/bin/kalgebra «PORTLIKE»", 13 | "shell": true 14 | }, 15 | { 16 | "func": "tab", 17 | "index": 3 18 | } 19 | ], 20 | "evaluate": [ 21 | { 22 | "type": "stop", 23 | "value": "FAIL" 24 | } 25 | ], 26 | "ans": "FAIL" 27 | } -------------------------------------------------------------------------------- /tasks/VM/KAlgebra/B-01.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "KAlgebra", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Switch to the tab of '2D Graph' and plot f(x) = x^2 in KAlgebra.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "launch", 11 | "wait": 2.5, 12 | "command": "LD_LIBRARY_PATH=/home/user/6.5.0/gcc_64/lib /app/bin/kalgebra «PORTLIKE»", 13 | "shell": true 14 | } 15 | ], 16 | "evaluate": [ 17 | { 18 | "type": "eqn", 19 | "key": [ 20 | [-11, 10.746585199686596], 21 | [-12, 8], 22 | [0, -11], 23 | [0.97, 4], 24 | [1, 1], 25 | [11, -6], 26 | [11.92, 142.0864], 27 | [18, 324], 28 | [4.33, 18.7489], 29 | [4.96, -4.038706673849717] 30 | ], 31 | "value": { 32 | "(-11, 10.746585199686596)": false, 33 | "(-12, 8)": false, 34 | "(0, -11)": false, 35 | "(0.97, 4)": false, 36 | "(1, 1)": true, 37 | "(11, -6)": false, 38 | "(11.92, 142.0864)": true, 39 | "(18, 324)": true, 40 | "(4.33, 18.7489)": true, 41 | "(4.96, -4.038706673849717)": false 42 | } 43 | } 44 | ], 45 | "ans": "x->x^2" 46 | } -------------------------------------------------------------------------------- /tasks/VM/KAlgebra/B-02.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "KAlgebra", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Remove Euler's constant from variables list in KAlgebra.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "launch", 11 | "wait": 2.5, 12 | "command": "LD_LIBRARY_PATH=/home/user/6.5.0/gcc_64/lib /app/bin/kalgebra «PORTLIKE»", 13 | "shell": true 14 | } 15 | ], 16 | "evaluate": [ 17 | { 18 | "type": "var", 19 | "key": "euler", 20 | "value": "#UNDEF" 21 | } 22 | ], 23 | "ans": "N/A" 24 | } -------------------------------------------------------------------------------- /tasks/VM/KAlgebra/B-03.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "KAlgebra", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Delete the trifolium curve in KAlgebra.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "launch", 11 | "wait": 2.5, 12 | "command": "LD_LIBRARY_PATH=/home/user/6.5.0/gcc_64/lib /app/bin/kalgebra «PORTLIKE»", 13 | "shell": true 14 | }, 15 | { 16 | "func": "tab", 17 | "index": 1 18 | }, 19 | { 20 | "func": "func_2d", 21 | "expr": "q->6*sin(3*q)" 22 | } 23 | ], 24 | "evaluate": [ 25 | { 26 | "type": "eqn", 27 | "key": "#SIZE", 28 | "value": 0 29 | } 30 | ], 31 | "ans": "N/A" 32 | } -------------------------------------------------------------------------------- /tasks/VM/KAlgebra/C-01.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "KAlgebra", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Calculate the value of log_2(3) in KAlgebra and store the result in variable `p`.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "launch", 11 | "wait": 2.5, 12 | "command": "LD_LIBRARY_PATH=/home/user/6.5.0/gcc_64/lib /app/bin/kalgebra «PORTLIKE»", 13 | "shell": true 14 | } 15 | ], 16 | "evaluate": [ 17 | { 18 | "type": "val", 19 | "key": "p", 20 | "value": 1.58496250072 21 | } 22 | ], 23 | "ans": "p := log(3)/log(2)" 24 | } -------------------------------------------------------------------------------- /tasks/VM/KAlgebra/C-02.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "KAlgebra", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Compare e^π and π^e in KAlgebra and store the bigger one in variable `p`.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "launch", 11 | "wait": 2.5, 12 | "command": "LD_LIBRARY_PATH=/home/user/6.5.0/gcc_64/lib /app/bin/kalgebra «PORTLIKE»", 13 | "shell": true 14 | } 15 | ], 16 | "evaluate": [ 17 | { 18 | "type": "val", 19 | "key": "p", 20 | "value": 23.1406926205 21 | } 22 | ], 23 | "ans": "p := e^pi" 24 | } -------------------------------------------------------------------------------- /tasks/VM/KAlgebra/C-03.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "KAlgebra", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Suppose f(n) to be the n-st fibonacci sequence and f(1) = f(2) = 1. Calculate f(24) in KAlgebra and submit the result via `ANS`.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "launch", 11 | "wait": 2.5, 12 | "command": "LD_LIBRARY_PATH=/home/user/6.5.0/gcc_64/lib /app/bin/kalgebra «PORTLIKE»", 13 | "shell": true 14 | } 15 | ], 16 | "evaluate": [ 17 | { 18 | "type": "stop", 19 | "value": "ANS", 20 | "args": ["46368"] 21 | } 22 | ], 23 | "ans": "ANS 46368" 24 | } -------------------------------------------------------------------------------- /tasks/VM/KAlgebra/C-04.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "KAlgebra", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Calculate the sum of the first 20 terms of harmonic series in KAlgebra and store the result in variable `p`.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "launch", 11 | "wait": 2.5, 12 | "command": "LD_LIBRARY_PATH=/home/user/6.5.0/gcc_64/lib /app/bin/kalgebra «PORTLIKE»", 13 | "shell": true 14 | } 15 | ], 16 | "evaluate": [ 17 | { 18 | "type": "val", 19 | "key": "p", 20 | "value": 3.59773965714 21 | } 22 | ], 23 | "ans": "p := sum(1/n: n=1..20)" 24 | } -------------------------------------------------------------------------------- /tasks/VM/KAlgebra/C-05.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "KAlgebra", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Load script from ~/script.kal where vector a are defined. Let b = (√3, 2); calculate their inner product in KAlgebra and store the result in variable `p`.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "launch", 11 | "wait": 2.5, 12 | "command": "LD_LIBRARY_PATH=/home/user/6.5.0/gcc_64/lib /app/bin/kalgebra «PORTLIKE»", 13 | "shell": true 14 | }, 15 | { 16 | "func": "touch", 17 | "text": "a := vector{-1, root(3, 3)}", 18 | "path": "/home/user/script.kal" 19 | } 20 | ], 21 | "evaluate": [ 22 | { 23 | "type": "val", 24 | "key": "p", 25 | "value": 1.15244833305 26 | } 27 | ], 28 | "ans": "Ctrl+L: ~/script.kal\nb := vector {root(3, 2), 2}\nc := scalarproduct(a, b)\np := c[1]+c[2]" 29 | } -------------------------------------------------------------------------------- /tasks/VM/KAlgebra/C-06.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "KAlgebra", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Given planes 3x + 4y + 5z - 1 = 0 and 3x + 4y + 5z + 6 = 0, calculate their distance in KAlgebra and store the result in variable `p`.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "launch", 11 | "wait": 2.5, 12 | "command": "LD_LIBRARY_PATH=/home/user/6.5.0/gcc_64/lib /app/bin/kalgebra «PORTLIKE»", 13 | "shell": true 14 | } 15 | ], 16 | "evaluate": [ 17 | { 18 | "type": "val", 19 | "key": "p", 20 | "value": 0.989949493661 21 | } 22 | ], 23 | "ans": "p := abs(6-(-1))/root(3^2+4^2+5^2, 2)" 24 | } -------------------------------------------------------------------------------- /tasks/VM/KAlgebra/C-07.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "KAlgebra", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Given that f(x) = ln(x + 1) + (x^2 - x), plot f'(x) in KAlgebra.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "launch", 11 | "wait": 2.5, 12 | "command": "LD_LIBRARY_PATH=/home/user/6.5.0/gcc_64/lib /app/bin/kalgebra «PORTLIKE»", 13 | "shell": true 14 | }, 15 | { 16 | "func": "tab", 17 | "index": 1 18 | } 19 | ], 20 | "evaluate": [ 21 | { 22 | "type": "eqn", 23 | "key": [ 24 | [-11, -23.18032786885246], 25 | [-13, -27.152941176470588], 26 | [-19, -39.10497237569061], 27 | [-19.38, -39.86292513444529], 28 | [-3, 0.31085698061003864], 29 | [-6.58, -4], 30 | [-8, -17.246153846153845], 31 | [0, -1.0], 32 | [3, -11], 33 | [5.75, 5.318634437154422] 34 | ], 35 | "value": { 36 | "(-11, -23.18032786885246)": true, 37 | "(-13, -27.152941176470588)": true, 38 | "(-19, -39.10497237569061)": true, 39 | "(-19.38, -39.86292513444529)": true, 40 | "(-3, 0.31085698061003864)": false, 41 | "(-6.58, -4)": false, 42 | "(-8, -17.246153846153845)": true, 43 | "(0, -1.0)": true, 44 | "(3, -11)": false, 45 | "(5.75, 5.318634437154422)": false 46 | } 47 | } 48 | ], 49 | "ans": "diff(ln(x^2+1)+x^2-x:x)" 50 | } -------------------------------------------------------------------------------- /tasks/VM/KAlgebra/C-09.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "KAlgebra", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Load the script from ~/script.kal where Archimedean spiral's equation r(a) is defined, then use the predefined variable r to plot the spiral of r(2) in KAlgebra.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "launch", 11 | "wait": 2.5, 12 | "command": "LD_LIBRARY_PATH=/home/user/6.5.0/gcc_64/lib /app/bin/kalgebra «PORTLIKE»", 13 | "shell": true 14 | }, 15 | { 16 | "func": "touch", 17 | "text": "r := a->q->a*q", 18 | "path": "/home/user/script.kal" 19 | } 20 | ], 21 | "evaluate": [ 22 | { 23 | "type": "eqn", 24 | "key": [ 25 | [-1, -2], 26 | [-11, -25], 27 | [-4.02, -8.04], 28 | [0.13, 0.26], 29 | [1, 2], 30 | [3.73, 7.46], 31 | [30, 60], 32 | [4, 7], 33 | [8, 16] 34 | ], 35 | "value": { 36 | "(-1, -2)": true, 37 | "(-11, -25)": false, 38 | "(-4.02, -8.04)": true, 39 | "(0.13, 0.26)": true, 40 | "(1, 2)": true, 41 | "(3.73, 7.46)": true, 42 | "(30, 60)": true, 43 | "(4, 7)": false, 44 | "(8, 16)": true 45 | } 46 | } 47 | ], 48 | "ans": "Ctrl+L: ~/script.kal; q->(r(2))(q)" 49 | } -------------------------------------------------------------------------------- /tasks/VM/KAlgebra/C-15.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "KAlgebra", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Plot a plane passing through three points (1, 0, 0), (0, 2, 0) and (0, 0, 3) in KAlgebra.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "launch", 11 | "wait": 2.5, 12 | "command": "LD_LIBRARY_PATH=/home/user/6.5.0/gcc_64/lib /app/bin/kalgebra «PORTLIKE»", 13 | "shell": true 14 | }, 15 | { 16 | "func": "tab", 17 | "index": 2 18 | } 19 | ], 20 | "evaluate": [ 21 | { 22 | "type": "eqn", 23 | "key": [ 24 | [-10, -1.22, 34.83], 25 | [-14, 19.19, -9.17019058015396], 26 | [-2.75, 17.93, -15.645], 27 | [-5, -10, 33.0], 28 | [-9.03, 11, -4.801796108572736], 29 | [0, -2, 6.0], 30 | [0, 1, 12], 31 | [16.71, 10.62, -63.06], 32 | [2, -9, 10.5], 33 | [8.87, -18.39, -3.0081830274403254] 34 | ], 35 | "value": { 36 | "(-10, -1.22, 34.83)": true, 37 | "(-14, 19.19, -9.17019058015396)": false, 38 | "(-2.75, 17.93, -15.645)": true, 39 | "(-5, -10, 33.0)": true, 40 | "(-9.03, 11, -4.801796108572736)": false, 41 | "(0, -2, 6.0)": true, 42 | "(0, 1, 12)": false, 43 | "(16.71, 10.62, -63.06)": true, 44 | "(2, -9, 10.5)": true, 45 | "(8.87, -18.39, -3.0081830274403254)": false 46 | } 47 | } 48 | ], 49 | "ans": "x+y/2+z/3=1" 50 | } -------------------------------------------------------------------------------- /tasks/VM/KAlgebra/C-16.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "KAlgebra", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Plot a plane parallel to the plane 3x + y - z + 4 = 0 with a z-intercept of -2 in KAlgebra.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "launch", 11 | "wait": 2.5, 12 | "command": "LD_LIBRARY_PATH=/home/user/6.5.0/gcc_64/lib /app/bin/kalgebra «PORTLIKE»", 13 | "shell": true 14 | }, 15 | { 16 | "func": "tab", 17 | "index": 2 18 | } 19 | ], 20 | "evaluate": [ 21 | { 22 | "type": "eqn", 23 | "key": [ 24 | [-11.55, -0.41, -3], 25 | [-3, 0.93, -10.07], 26 | [-7, -11, -34], 27 | [0, -4.92, -6.92], 28 | [13.77, 14.78, 4], 29 | [16, 4.23, 5.2994113210638405], 30 | [2, 6.83, -13.06308853851272], 31 | [3.65, 5, -5.80082733054053], 32 | [5, 3, 20], 33 | [9, -1.86, 7] 34 | ], 35 | "value": { 36 | "(-11.55, -0.41, -3)": false, 37 | "(-3, 0.93, -10.07)": true, 38 | "(-7, -11, -34)": true, 39 | "(0, -4.92, -6.92)": true, 40 | "(13.77, 14.78, 4)": false, 41 | "(16, 4.23, 5.2994113210638405)": false, 42 | "(2, 6.83, -13.06308853851272)": false, 43 | "(3.65, 5, -5.80082733054053)": false, 44 | "(5, 3, 20)": false, 45 | "(9, -1.86, 7)": false 46 | } 47 | } 48 | ], 49 | "ans": "3x+y-z=2" 50 | } -------------------------------------------------------------------------------- /tasks/VM/KAlgebra/D-01.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "KAlgebra", 3 | "sort": "VM", 4 | "steps": 10, 5 | "instruction": "Suppose that f(n) = ln(n) / n where n is a natural number. Calculate the max f(n) in KAlgebra and store the value in variable `M`. Hint: try to plot the corresponding function to observe its monotonicity.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "launch", 11 | "wait": 2.5, 12 | "command": "LD_LIBRARY_PATH=/home/user/6.5.0/gcc_64/lib /app/bin/kalgebra «PORTLIKE»", 13 | "shell": true 14 | }, 15 | { 16 | "func": "tab", 17 | "index": 1 18 | } 19 | ], 20 | "evaluate": [ 21 | { 22 | "type": "val", 23 | "key": "M", 24 | "value": 0.366204096223 25 | } 26 | ], 27 | "ans": "M := ln(3)/3" 28 | } -------------------------------------------------------------------------------- /tasks/VM/KAlgebra/D-02.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "KAlgebra", 3 | "sort": "VM", 4 | "steps": 10, 5 | "instruction": "Find the area of ​​the given figure in KAlgebra and store the value in variable `area`.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "launch", 11 | "wait": 2.5, 12 | "command": "LD_LIBRARY_PATH=/home/user/6.5.0/gcc_64/lib /app/bin/kalgebra «PORTLIKE»", 13 | "shell": true 14 | }, 15 | { 16 | "func": "tab", 17 | "index": 1 18 | }, 19 | { 20 | "func": "func_2d", 21 | "expr": "x^2/16+y^2/9=1" 22 | } 23 | ], 24 | "evaluate": [ 25 | { 26 | "type": "val", 27 | "key": "area", 28 | "value": 37.6991118431 29 | } 30 | ], 31 | "ans": "area := pi*3*4" 32 | } -------------------------------------------------------------------------------- /tasks/VM/KAlgebra/D-03.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "KAlgebra", 3 | "sort": "VM", 4 | "steps": 10, 5 | "instruction": "Let f(x) = 2sin(x) and g(x) = x + 1/(2x). Find the number of zeros of the equation f(x) = g(x) and submit your answer via `ANS`.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "launch", 11 | "wait": 2.5, 12 | "command": "LD_LIBRARY_PATH=/home/user/6.5.0/gcc_64/lib /app/bin/kalgebra «PORTLIKE»", 13 | "shell": true 14 | } 15 | ], 16 | "evaluate": [ 17 | { 18 | "type": "stop", 19 | "value": "ANS", 20 | "args": ["4"] 21 | } 22 | ], 23 | "ans": "ANS 4" 24 | } -------------------------------------------------------------------------------- /tasks/VM/Lean/A-01.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Lean", 3 | "sort": "VM", 4 | "steps": 10, 5 | "instruction": "theorem PT_1 {R : Sort u → Sort u → Prop} (h₁ : ∀ x, ∀ y, R x y → R y x) (h₂ : ∀ x, ∀ y, ∀ z, R x y ∧ R y z → R x z) (h₃ : ∀ x, ∃ y, R x y) : ∀ x, R x x := by sorry", 6 | "version": "0.1", 7 | "initialize": [ 8 | { 9 | "func": "import", 10 | "libs": ["Mathlib"] 11 | }, 12 | { 13 | "func": "query", 14 | "expr": "theorem PT_1 {R : Sort u → Sort u → Prop} (h₁ : ∀ x, ∀ y, R x y → R y x) (h₂ : ∀ x, ∀ y, ∀ z, R x y ∧ R y z → R x z) (h₃ : ∀ x, ∃ y, R x y) : ∀ x, R x x := by sorry" 15 | }, 16 | { 17 | "func": "launch", 18 | "wait": 10, 19 | "command": "code /home/user/sci /home/user/sci/Sci/Basic.lean", 20 | "shell": true 21 | } 22 | ], 23 | "evaluate": [ 24 | { 25 | "type": "placeholder" 26 | } 27 | ] 28 | } 29 | -------------------------------------------------------------------------------- /tasks/VM/Lean/A-02.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Lean", 3 | "sort": "VM", 4 | "steps": 10, 5 | "instruction": "theorem PT_2 : ack x (y + 1) < ack (x + 1) y := by sorry", 6 | "version": "0.1", 7 | "initialize": [ 8 | { 9 | "func": "import", 10 | "libs": ["Mathlib"] 11 | }, 12 | { 13 | "func": "query", 14 | "expr": "theorem PT_2 : ack x (y + 1) < ack (x + 1) y := by sorry" 15 | }, 16 | { 17 | "func": "launch", 18 | "wait": 10, 19 | "command": "code /home/user/sci /home/user/sci/Sci/Basic.lean", 20 | "shell": true 21 | } 22 | ], 23 | "evaluate": [ 24 | { 25 | "type": "placeholder" 26 | } 27 | ] 28 | } 29 | -------------------------------------------------------------------------------- /tasks/VM/Lean/A-03.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Lean", 3 | "sort": "VM", 4 | "steps": 15, 5 | "instruction": "theorem ST_1 (X : ZFSet) : ((IsTransitive X) ↔ (X ⊆ powerset X)) ∧ ((IsTransitive X) ↔ ((⋃₀ X : ZFSet) ⊆ X)) := by sorry", 6 | "version": "0.1", 7 | "initialize": [ 8 | { 9 | "func": "import", 10 | "libs": ["Mathlib"] 11 | }, 12 | { 13 | "func": "open", 14 | "libs": ["ZFSet"] 15 | }, 16 | { 17 | "func": "query", 18 | "expr": "theorem ST_1 (X : ZFSet) : ((IsTransitive X) ↔ (X ⊆ powerset X)) ∧ ((IsTransitive X) ↔ ((⋃₀ X : ZFSet) ⊆ X)) := by sorry" 19 | }, 20 | { 21 | "func": "launch", 22 | "wait": 10, 23 | "command": "code /home/user/sci /home/user/sci/Sci/Basic.lean", 24 | "shell": true 25 | } 26 | ], 27 | "evaluate": [ 28 | { 29 | "type": "placeholder" 30 | } 31 | ] 32 | } 33 | -------------------------------------------------------------------------------- /tasks/VM/Lean/A-04.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Lean", 3 | "sort": "VM", 4 | "steps": 15, 5 | "instruction": "theorem ST_2 (α : Ordinal) (h₁ : IsLimit α) (h₂ : α < ω_ 1) : α.cof = ℵ := by sorry", 6 | "version": "0.1", 7 | "initialize": [ 8 | { 9 | "func": "import", 10 | "libs": ["Mathlib"] 11 | }, 12 | { 13 | "func": "open", 14 | "libs": ["Ordinal", "Cardinal"] 15 | }, 16 | { 17 | "func": "query", 18 | "expr": "theorem ST_2 (α : Ordinal) (h₁ : IsLimit α) (h₂ : α < ω_ 1) : α.cof = ℵ := by sorry" 19 | }, 20 | { 21 | "func": "launch", 22 | "wait": 10, 23 | "command": "code /home/user/sci /home/user/sci/Sci/Basic.lean", 24 | "shell": true 25 | } 26 | ], 27 | "evaluate": [ 28 | { 29 | "type": "placeholder" 30 | } 31 | ] 32 | } 33 | -------------------------------------------------------------------------------- /tasks/VM/Lean/A-05.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Lean", 3 | "sort": "VM", 4 | "steps": 15, 5 | "instruction": "theorem ST_3 (h : 𝔠 > ℵ_ (ord ℵ₁)) : (ℷ (ℵ_ ω) = 2 ^ ℵ₀) ∧ (ℷ (ℵ_ <| ω_ 1) = 2 ^ ℵ₁) := by sorry", 6 | "version": "0.1", 7 | "initialize": [ 8 | { 9 | "func": "import", 10 | "libs": ["Mathlib"] 11 | }, 12 | { 13 | "func": "open", 14 | "libs": ["Ordinal", "Cardinal"] 15 | }, 16 | { 17 | "func": "def", 18 | "expr": "def ℷ (κ : Cardinal) : Cardinal := κ ^ cof κ.ord" 19 | }, 20 | { 21 | "func": "query", 22 | "expr": "theorem ST_3 (h : 𝔠 > ℵ_ (ord ℵ₁)) : (ℷ (ℵ_ ω) = 2 ^ ℵ₀) ∧ (ℷ (ℵ_ <| ω_ 1) = 2 ^ ℵ₁) := by sorry" 23 | }, 24 | { 25 | "func": "launch", 26 | "wait": 10, 27 | "command": "code /home/user/sci /home/user/sci/Sci/Basic.lean", 28 | "shell": true 29 | } 30 | ], 31 | "evaluate": [ 32 | { 33 | "type": "placeholder" 34 | } 35 | ] 36 | } 37 | -------------------------------------------------------------------------------- /tasks/VM/Lean/B-01.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Lean", 3 | "sort": "VM", 4 | "steps": 15, 5 | "instruction": "theorem DM_1 {a p : ℕ} (h₁ : Nat.Prime p) (h₂ : Odd a) (h₃ : IsCoprime a p) : (a ^ (p - 1) + (p - 1) ^ a) ≡ 0 [ZMOD p] := by sorry", 6 | "version": "0.1", 7 | "initialize": [ 8 | { 9 | "func": "import", 10 | "libs": ["Mathlib"] 11 | }, 12 | { 13 | "func": "query", 14 | "expr": "theorem DM_1 {a p : ℕ} (h₁ : Nat.Prime p) (h₂ : Odd a) (h₃ : IsCoprime a p) : (a ^ (p - 1) + (p - 1) ^ a) ≡ 0 [ZMOD p] := by sorry" 15 | }, 16 | { 17 | "func": "launch", 18 | "wait": 10, 19 | "command": "code /home/user/sci /home/user/sci/Sci/Basic.lean", 20 | "shell": true 21 | } 22 | ], 23 | "evaluate": [ 24 | { 25 | "type": "placeholder" 26 | } 27 | ] 28 | } 29 | -------------------------------------------------------------------------------- /tasks/VM/Lean/B-02.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Lean", 3 | "sort": "VM", 4 | "steps": 15, 5 | "instruction": "theorem DM_2 {n e : ℕ} {G : SimpleGraph V} [Fintype V] [Fintype G.edgeSet] [DecidableEq V] (h₁ : n = Fintype.card V ∧ e = Fintype.card G.edgeSet) (h₂ : ∀ v₁ : V, ∀ v₂ : V, ∃ w : G.Walk v₁ v₂, w.IsHamiltonian) : n ≥ 4 → 2 * e ≥ 3 * n + 1 := by sorry", 6 | "version": "0.1", 7 | "initialize": [ 8 | { 9 | "func": "import", 10 | "libs": ["Mathlib"] 11 | }, 12 | { 13 | "func": "query", 14 | "expr": "theorem DM_2 {n e : ℕ} {G : SimpleGraph V} [Fintype V] [Fintype G.edgeSet] [DecidableEq V] (h₁ : n = Fintype.card V ∧ e = Fintype.card G.edgeSet) (h₂ : ∀ v₁ : V, ∀ v₂ : V, ∃ w : G.Walk v₁ v₂, w.IsHamiltonian) : n ≥ 4 → 2 * e ≥ 3 * n + 1 := by sorry" 15 | }, 16 | { 17 | "func": "launch", 18 | "wait": 10, 19 | "command": "code /home/user/sci /home/user/sci/Sci/Basic.lean", 20 | "shell": true 21 | } 22 | ], 23 | "evaluate": [ 24 | { 25 | "type": "placeholder" 26 | } 27 | ] 28 | } 29 | -------------------------------------------------------------------------------- /tasks/VM/Lean/B-03.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Lean", 3 | "sort": "VM", 4 | "steps": 15, 5 | "instruction": "theorem DM_3 {L : Language} [L.Structure M₁] [L.Structure M₂] (h : M₁ ≅[L] M₂) : ∃ N : Bundled L.Structure, Nonempty (M₁ ↪ₑ[L] N) ∧ Nonempty (M₂ ↪ₑ[L] N) := by sorry", 6 | "version": "0.1", 7 | "initialize": [ 8 | { 9 | "func": "import", 10 | "libs": ["Mathlib"] 11 | }, 12 | { 13 | "func": "open", 14 | "libs": ["CategoryTheory", "FirstOrder"] 15 | }, 16 | { 17 | "func": "query", 18 | "expr": "theorem DM_3 {L : Language} [L.Structure M₁] [L.Structure M₂] (h : M₁ ≅[L] M₂) : ∃ N : Bundled L.Structure, Nonempty (M₁ ↪ₑ[L] N) ∧ Nonempty (M₂ ↪ₑ[L] N) := by sorry" 19 | }, 20 | { 21 | "func": "launch", 22 | "wait": 10, 23 | "command": "code /home/user/sci /home/user/sci/Sci/Basic.lean", 24 | "shell": true 25 | } 26 | ], 27 | "evaluate": [ 28 | { 29 | "type": "placeholder" 30 | } 31 | ] 32 | } 33 | -------------------------------------------------------------------------------- /tasks/VM/Lean/B-04.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Lean", 3 | "sort": "VM", 4 | "steps": 15, 5 | "instruction": "theorem DM_4 [Primcodable α] [Primcodable β] [Primcodable γ] [Primcodable δ] {p : α → Prop} {q : β → Prop} {r : γ → Prop} {s : δ → Prop} (h₁ : ManyOneEquiv p r) (h₂ : ManyOneEquiv q s) : ManyOneEquiv (Sum.elim p q) (Sum.elim r s) := by sorry", 6 | "version": "0.1", 7 | "initialize": [ 8 | { 9 | "func": "import", 10 | "libs": ["Mathlib"] 11 | }, 12 | { 13 | "func": "query", 14 | "expr": "theorem DM_4 [Primcodable α] [Primcodable β] [Primcodable γ] [Primcodable δ] {p : α → Prop} {q : β → Prop} {r : γ → Prop} {s : δ → Prop} (h₁ : ManyOneEquiv p r) (h₂ : ManyOneEquiv q s) : ManyOneEquiv (Sum.elim p q) (Sum.elim r s) := by sorry" 15 | }, 16 | { 17 | "func": "launch", 18 | "wait": 10, 19 | "command": "code /home/user/sci /home/user/sci/Sci/Basic.lean", 20 | "shell": true 21 | } 22 | ], 23 | "evaluate": [ 24 | { 25 | "type": "placeholder" 26 | } 27 | ] 28 | } 29 | -------------------------------------------------------------------------------- /tasks/VM/Lean/B-05.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Lean", 3 | "sort": "VM", 4 | "steps": 15, 5 | "instruction": "theorem AA_1 [Group G] [IsCyclic G] (N : Subgroup G) [Pow (G ⧸ N) ℤ] : IsCyclic (G ⧸ N) := by sorry", 6 | "version": "0.1", 7 | "initialize": [ 8 | { 9 | "func": "import", 10 | "libs": ["Mathlib"] 11 | }, 12 | { 13 | "func": "query", 14 | "expr": "theorem AA_1 [Group G] [IsCyclic G] (N : Subgroup G) [Pow (G ⧸ N) ℤ] : IsCyclic (G ⧸ N) := by sorry" 15 | }, 16 | { 17 | "func": "launch", 18 | "wait": 10, 19 | "command": "code /home/user/sci /home/user/sci/Sci/Basic.lean", 20 | "shell": true 21 | } 22 | ], 23 | "evaluate": [ 24 | { 25 | "type": "placeholder" 26 | } 27 | ] 28 | } 29 | -------------------------------------------------------------------------------- /tasks/VM/Lean/B-06.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Lean", 3 | "sort": "VM", 4 | "steps": 15, 5 | "instruction": "theorem AA_2 [Ring R] (N : Ideal R) [DivisionRing (R ⧸ N)] (a : R) : (∃ t : N, t = a * a) → (∃ t' : N, t' = a) := by sorry", 6 | "version": "0.1", 7 | "initialize": [ 8 | { 9 | "func": "import", 10 | "libs": ["Mathlib"] 11 | }, 12 | { 13 | "func": "query", 14 | "expr": "theorem AA_2 [Ring R] (N : Ideal R) [DivisionRing (R ⧸ N)] (a : R) : (∃ t : N, t = a * a) → (∃ t' : N, t' = a) := by sorry" 15 | }, 16 | { 17 | "func": "launch", 18 | "wait": 10, 19 | "command": "code /home/user/sci /home/user/sci/Sci/Basic.lean", 20 | "shell": true 21 | } 22 | ], 23 | "evaluate": [ 24 | { 25 | "type": "placeholder" 26 | } 27 | ] 28 | } 29 | -------------------------------------------------------------------------------- /tasks/VM/Lean/B-07.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Lean", 3 | "sort": "VM", 4 | "steps": 15, 5 | "instruction": "theorem AA_3 {K E F : Set α} [Field K] [Field E] [Field F] [Algebra F E] [Algebra F K] (h₁ : F ⊆ E) (h₂ : E ⊆ K) (h₃ : Normal F K) : Nonempty (Algebra E K) ∧ ([Algebra E K] → (Normal E K)) := by sorry", 6 | "version": "0.1", 7 | "initialize": [ 8 | { 9 | "func": "import", 10 | "libs": ["Mathlib"] 11 | }, 12 | { 13 | "func": "query", 14 | "expr": "theorem AA_3 {K E F : Set α} [Field K] [Field E] [Field F] [Algebra F E] [Algebra F K] (h₁ : F ⊆ E) (h₂ : E ⊆ K) (h₃ : Normal F K) : Nonempty (Algebra E K) ∧ ([Algebra E K] → (Normal E K)) := by sorry" 15 | }, 16 | { 17 | "func": "launch", 18 | "wait": 10, 19 | "command": "code /home/user/sci /home/user/sci/Sci/Basic.lean", 20 | "shell": true 21 | } 22 | ], 23 | "evaluate": [ 24 | { 25 | "type": "placeholder" 26 | } 27 | ] 28 | } 29 | -------------------------------------------------------------------------------- /tasks/VM/Lean/C-01.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Lean", 3 | "sort": "VM", 4 | "steps": 15, 5 | "instruction": "theorem TP_1 [TopologicalSpace X] [TopologicalSpace Y] (h₁ : X ≃ₜ Y) (h₂ : MetrizableSpace X) : MetrizableSpace Y := by sorry", 6 | "version": "0.1", 7 | "initialize": [ 8 | { 9 | "func": "import", 10 | "libs": ["Mathlib"] 11 | }, 12 | { 13 | "func": "open", 14 | "libs": ["TopologicalSpace"] 15 | }, 16 | { 17 | "func": "query", 18 | "expr": "theorem TP_1 [TopologicalSpace X] [TopologicalSpace Y] (h₁ : X ≃ₜ Y) (h₂ : MetrizableSpace X) : MetrizableSpace Y := by sorry" 19 | }, 20 | { 21 | "func": "launch", 22 | "wait": 10, 23 | "command": "code /home/user/sci /home/user/sci/Sci/Basic.lean", 24 | "shell": true 25 | } 26 | ], 27 | "evaluate": [ 28 | { 29 | "type": "placeholder" 30 | } 31 | ] 32 | } 33 | -------------------------------------------------------------------------------- /tasks/VM/Lean/C-02.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Lean", 3 | "sort": "VM", 4 | "steps": 15, 5 | "instruction": "theorem TP_2 [TopologicalSpace X] (A B : Set X) (h : (derivedSet A) ⊆ B ∧ B ⊆ A) : IsClosed B := by sorry", 6 | "version": "0.1", 7 | "initialize": [ 8 | { 9 | "func": "import", 10 | "libs": ["Mathlib"] 11 | }, 12 | { 13 | "func": "query", 14 | "expr": "theorem TP_2 [TopologicalSpace X] (A B : Set X) (h : (derivedSet A) ⊆ B ∧ B ⊆ A) : IsClosed B := by sorry" 15 | }, 16 | { 17 | "func": "launch", 18 | "wait": 10, 19 | "command": "code /home/user/sci /home/user/sci/Sci/Basic.lean", 20 | "shell": true 21 | } 22 | ], 23 | "evaluate": [ 24 | { 25 | "type": "placeholder" 26 | } 27 | ] 28 | } 29 | -------------------------------------------------------------------------------- /tasks/VM/Lean/C-03.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Lean", 3 | "sort": "VM", 4 | "steps": 15, 5 | "instruction": "theorem TP_3 [TopologicalSpace X] [TopologicalSpace Y] (f : X → Y) (Z : Set X) (h₁ : Continuous f) (h₂ : IsConnected Z) : IsConnected {y : Y | ∃ z ∈ Z, f z = y} := by sorry", 6 | "version": "0.1", 7 | "initialize": [ 8 | { 9 | "func": "import", 10 | "libs": ["Mathlib"] 11 | }, 12 | { 13 | "func": "query", 14 | "expr": "theorem TP_3 [TopologicalSpace X] [TopologicalSpace Y] (f : X → Y) (Z : Set X) (h₁ : Continuous f) (h₂ : IsConnected Z) : IsConnected {y : Y | ∃ z ∈ Z, f z = y} := by sorry" 15 | }, 16 | { 17 | "func": "launch", 18 | "wait": 10, 19 | "command": "code /home/user/sci /home/user/sci/Sci/Basic.lean", 20 | "shell": true 21 | } 22 | ], 23 | "evaluate": [ 24 | { 25 | "type": "placeholder" 26 | } 27 | ] 28 | } 29 | -------------------------------------------------------------------------------- /tasks/VM/Lean/C-04.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Lean", 3 | "sort": "VM", 4 | "steps": 15, 5 | "instruction": "theorem TP_4 [𝒯₁ : TopologicalSpace X] [𝒯₂ : TopologicalSpace X] (h : ∀ x : Set X, 𝒯₁.IsOpen x → 𝒯₂.IsOpen x) : (@T0Space X 𝒯₁ → @T0Space X 𝒯₂) ∧ (@T1Space X 𝒯₁ → @T1Space X 𝒯₂) := by sorry", 6 | "version": "0.1", 7 | "initialize": [ 8 | { 9 | "func": "import", 10 | "libs": ["Mathlib"] 11 | }, 12 | { 13 | "func": "query", 14 | "expr": "theorem TP_4 [𝒯₁ : TopologicalSpace X] [𝒯₂ : TopologicalSpace X] (h : ∀ x : Set X, 𝒯₁.IsOpen x → 𝒯₂.IsOpen x) : (@T0Space X 𝒯₁ → @T0Space X 𝒯₂) ∧ (@T1Space X 𝒯₁ → @T1Space X 𝒯₂) := by sorry" 15 | }, 16 | { 17 | "func": "launch", 18 | "wait": 10, 19 | "command": "code /home/user/sci /home/user/sci/Sci/Basic.lean", 20 | "shell": true 21 | } 22 | ], 23 | "evaluate": [ 24 | { 25 | "type": "placeholder" 26 | } 27 | ] 28 | } 29 | -------------------------------------------------------------------------------- /tasks/VM/Lean/C-05.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Lean", 3 | "sort": "VM", 4 | "steps": 15, 5 | "instruction": "theorem TP_5 [TopologicalSpace X] [RegularSpace X] (A Y : Set X) (h₁ : IsCompact A) (h₂ : A ⊆ Y ∧ Y ⊆ Aᶜ) : IsCompact Y := by sorry", 6 | "version": "0.1", 7 | "initialize": [ 8 | { 9 | "func": "import", 10 | "libs": ["Mathlib"] 11 | }, 12 | { 13 | "func": "query", 14 | "expr": "theorem TP_5 [TopologicalSpace X] [RegularSpace X] (A Y : Set X) (h₁ : IsCompact A) (h₂ : A ⊆ Y ∧ Y ⊆ Aᶜ) : IsCompact Y := by sorry" 15 | }, 16 | { 17 | "func": "launch", 18 | "wait": 10, 19 | "command": "code /home/user/sci /home/user/sci/Sci/Basic.lean", 20 | "shell": true 21 | } 22 | ], 23 | "evaluate": [ 24 | { 25 | "type": "placeholder" 26 | } 27 | ] 28 | } 29 | -------------------------------------------------------------------------------- /tasks/VM/Lean/D-01.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Lean", 3 | "sort": "VM", 4 | "steps": 15, 5 | "instruction": "theorem AP_1 (A : ℝ) (f : ℝ → ℝ) (h₁ : A > 0) (h₂ : Tendsto f atBot (𝓝 A)) : ∃ X : ℝ, X > 0 ∧ (∀ x < -X, A < 2 * f x ∧ 2 * f x < 3 * A) := by sorry", 6 | "version": "0.1", 7 | "initialize": [ 8 | { 9 | "func": "import", 10 | "libs": ["Mathlib"] 11 | }, 12 | { 13 | "func": "open", 14 | "libs": ["Filter", "Topology"] 15 | }, 16 | { 17 | "func": "query", 18 | "expr": "theorem AP_1 (A : ℝ) (f : ℝ → ℝ) (h₁ : A > 0) (h₂ : Tendsto f atBot (𝓝 A)) : ∃ X : ℝ, X > 0 ∧ (∀ x < -X, A < 2 * f x ∧ 2 * f x < 3 * A) := by sorry" 19 | }, 20 | { 21 | "func": "launch", 22 | "wait": 10, 23 | "command": "code /home/user/sci /home/user/sci/Sci/Basic.lean", 24 | "shell": true 25 | } 26 | ], 27 | "evaluate": [ 28 | { 29 | "type": "placeholder" 30 | } 31 | ] 32 | } 33 | -------------------------------------------------------------------------------- /tasks/VM/Lean/D-02.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Lean", 3 | "sort": "VM", 4 | "steps": 15, 5 | "instruction": "theorem AP_2 (S : Set ℝ) (f f' : ℝ → ℝ) (h₁ : ∀ x ∈ S, HasDerivWithinAt f (f' x) S x) (h₂ : ∃ M : ℝ, ∀ x ∈ S, |f' x| ≤ M) : UniformContinuousOn f S := by sorry", 6 | "version": "0.1", 7 | "initialize": [ 8 | { 9 | "func": "import", 10 | "libs": ["Mathlib"] 11 | }, 12 | { 13 | "func": "query", 14 | "expr": "theorem AP_2 (S : Set ℝ) (f f' : ℝ → ℝ) (h₁ : ∀ x ∈ S, HasDerivWithinAt f (f' x) S x) (h₂ : ∃ M : ℝ, ∀ x ∈ S, |f' x| ≤ M) : UniformContinuousOn f S := by sorry" 15 | }, 16 | { 17 | "func": "launch", 18 | "wait": 10, 19 | "command": "code /home/user/sci /home/user/sci/Sci/Basic.lean", 20 | "shell": true 21 | } 22 | ], 23 | "evaluate": [ 24 | { 25 | "type": "placeholder" 26 | } 27 | ] 28 | } 29 | -------------------------------------------------------------------------------- /tasks/VM/Lean/D-03.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Lean", 3 | "sort": "VM", 4 | "steps": 15, 5 | "instruction": "theorem AP_3 {a b : ℝ} (f : ℝ → ℝ) (h₁ : ContinuousOn f (Icc a b)) (h₂ : (∫ x in a..b, (f x) ^ 2) = 0) : ∀ x ∈ Icc a b, f x = 0 := by sorry", 6 | "version": "0.1", 7 | "initialize": [ 8 | { 9 | "func": "import", 10 | "libs": ["Mathlib"] 11 | }, 12 | { 13 | "func": "open", 14 | "libs": ["Set"] 15 | }, 16 | { 17 | "func": "query", 18 | "expr": "theorem AP_3 {a b : ℝ} (f : ℝ → ℝ) (h₁ : ContinuousOn f (Icc a b)) (h₂ : (∫ x in a..b, (f x) ^ 2) = 0) : ∀ x ∈ Icc a b, f x = 0 := by sorry" 19 | }, 20 | { 21 | "func": "launch", 22 | "wait": 10, 23 | "command": "code /home/user/sci /home/user/sci/Sci/Basic.lean", 24 | "shell": true 25 | } 26 | ], 27 | "evaluate": [ 28 | { 29 | "type": "placeholder" 30 | } 31 | ] 32 | } 33 | -------------------------------------------------------------------------------- /tasks/VM/Lean/D-04.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Lean", 3 | "sort": "VM", 4 | "steps": 15, 5 | "instruction": "theorem MT_1 (𝒞 : Set (Set Ω)) (h : #𝒞 = ℵ₀) : #(generateSetAlgebra 𝒞) = ℵ₀ := by sorry", 6 | "version": "0.1", 7 | "initialize": [ 8 | { 9 | "func": "import", 10 | "libs": ["Mathlib"] 11 | }, 12 | { 13 | "func": "open", 14 | "libs": ["Cardinal", "MeasureTheory"] 15 | }, 16 | { 17 | "func": "query", 18 | "expr": "theorem MT_1 (𝒞 : Set (Set Ω)) (h : #𝒞 = ℵ₀) : #(generateSetAlgebra 𝒞) = ℵ₀ := by sorry" 19 | }, 20 | { 21 | "func": "launch", 22 | "wait": 10, 23 | "command": "code /home/user/sci /home/user/sci/Sci/Basic.lean", 24 | "shell": true 25 | } 26 | ], 27 | "evaluate": [ 28 | { 29 | "type": "placeholder" 30 | } 31 | ] 32 | } 33 | -------------------------------------------------------------------------------- /tasks/VM/Lean/D-05.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Lean", 3 | "sort": "VM", 4 | "steps": 15, 5 | "instruction": "theorem MT_2 [MeasurableSpace Ω] (μ_ : ℕ → Measure Ω) (f : Set Ω → ℝ≥0∞) (h₁ : ∀ n : ℕ, ∀ A : Set Ω, (μ_ n).measureOf A ≤ (μ_ (n + 1)).measureOf A) (h₂ : ∀ A : Set Ω, Tendsto (fun n => (μ_ n).measureOf A) atTop (𝓝 (f A))) : ∃ μ : Measure Ω, μ.measureOf = f := by sorry", 6 | "version": "0.1", 7 | "initialize": [ 8 | { 9 | "func": "import", 10 | "libs": ["Mathlib"] 11 | }, 12 | { 13 | "func": "open", 14 | "libs": ["MeasureTheory", "ENNReal", "Filter", "Topology"] 15 | }, 16 | { 17 | "func": "query", 18 | "expr": "theorem MT_2 [MeasurableSpace Ω] (μ_ : ℕ → Measure Ω) (f : Set Ω → ℝ≥0∞) (h₁ : ∀ n : ℕ, ∀ A : Set Ω, (μ_ n).measureOf A ≤ (μ_ (n + 1)).measureOf A) (h₂ : ∀ A : Set Ω, Tendsto (fun n => (μ_ n).measureOf A) atTop (𝓝 (f A))) : ∃ μ : Measure Ω, μ.measureOf = f := by sorry" 19 | }, 20 | { 21 | "func": "launch", 22 | "wait": 10, 23 | "command": "code /home/user/sci /home/user/sci/Sci/Basic.lean", 24 | "shell": true 25 | } 26 | ], 27 | "evaluate": [ 28 | { 29 | "type": "placeholder" 30 | } 31 | ] 32 | } 33 | -------------------------------------------------------------------------------- /tasks/VM/Lean/D-06.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Lean", 3 | "sort": "VM", 4 | "steps": 15, 5 | "instruction": "theorem MT_3 {a b : ℝ} {μ : Measure <| Icc a b} (f_ : ℕ → Icc a b → ℝ) (f : Icc a b → ℝ) (g : ℝ → ℝ) (h₁ : TendstoInMeasure μ f_ atTop f) (h₂ : ∃ M : ℝ, ∀ x : Icc a b, |f x| < M) (h₃ : ContinuousOn g univ) : TendstoInMeasure μ (fun n => g ∘ (f_ n)) atTop (g ∘ f) := by sorry", 6 | "version": "0.1", 7 | "initialize": [ 8 | { 9 | "func": "import", 10 | "libs": ["Mathlib"] 11 | }, 12 | { 13 | "func": "open", 14 | "libs": ["Set", "MeasureTheory", "Filter"] 15 | }, 16 | { 17 | "func": "query", 18 | "expr": "theorem MT_3 {a b : ℝ} {μ : Measure <| Icc a b} (f_ : ℕ → Icc a b → ℝ) (f : Icc a b → ℝ) (g : ℝ → ℝ) (h₁ : TendstoInMeasure μ f_ atTop f) (h₂ : ∃ M : ℝ, ∀ x : Icc a b, |f x| < M) (h₃ : ContinuousOn g univ) : TendstoInMeasure μ (fun n => g ∘ (f_ n)) atTop (g ∘ f) := by sorry" 19 | }, 20 | { 21 | "func": "launch", 22 | "wait": 10, 23 | "command": "code /home/user/sci /home/user/sci/Sci/Basic.lean", 24 | "shell": true 25 | } 26 | ], 27 | "evaluate": [ 28 | { 29 | "type": "placeholder" 30 | } 31 | ] 32 | } 33 | -------------------------------------------------------------------------------- /tasks/VM/Lean/D-07.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Lean", 3 | "sort": "VM", 4 | "steps": 15, 5 | "instruction": "theorem MT_4 [MeasureSpace Ω] [IsProbabilityMeasure (ℙ : Measure Ω)] (X : Ω → ℝ) {p : ℕ} {X : Ω → ℝ} (h₁ : p > 0) (h₂ : Integrable X) (h₃ : ∃ M : ℝ, 𝔼[fun ω => |X ω| ^ p] = M) : Tendsto (fun (x : ℝ) => (x ^ p) * (ℙ {ω : Ω | |X ω| > x}).toReal) atTop (𝓝 0) := by sorry", 6 | "version": "0.1", 7 | "initialize": [ 8 | { 9 | "func": "import", 10 | "libs": ["Mathlib"] 11 | }, 12 | { 13 | "func": "open", 14 | "libs": ["MeasureTheory", "ProbabilityTheory", "Filter", "Topology"] 15 | }, 16 | { 17 | "func": "query", 18 | "expr": "theorem MT_4 [MeasureSpace Ω] [IsProbabilityMeasure (ℙ : Measure Ω)] (X : Ω → ℝ) {p : ℕ} {X : Ω → ℝ} (h₁ : p > 0) (h₂ : Integrable X) (h₃ : ∃ M : ℝ, 𝔼[fun ω => |X ω| ^ p] = M) : Tendsto (fun (x : ℝ) => (x ^ p) * (ℙ {ω : Ω | |X ω| > x}).toReal) atTop (𝓝 0) := by sorry" 19 | }, 20 | { 21 | "func": "launch", 22 | "wait": 10, 23 | "command": "code /home/user/sci /home/user/sci/Sci/Basic.lean", 24 | "shell": true 25 | } 26 | ], 27 | "evaluate": [ 28 | { 29 | "type": "placeholder" 30 | } 31 | ] 32 | } 33 | -------------------------------------------------------------------------------- /tasks/VM/Lean/E-01.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Lean", 3 | "sort": "VM", 4 | "steps": 20, 5 | "instruction": "def OP_1 (n : ℤ) : Decidable (∃ a b c d : ℤ, n = a ^ 3 + b ^ 3 + c ^ 3 + d ^ 3) := by sorry", 6 | "version": "0.1", 7 | "initialize": [ 8 | { 9 | "func": "import", 10 | "libs": ["Mathlib"] 11 | }, 12 | { 13 | "func": "query", 14 | "expr": "def OP_1 (n : ℤ) : Decidable (∃ a b c d : ℤ, n = a ^ 3 + b ^ 3 + c ^ 3 + d ^ 3) := by sorry" 15 | }, 16 | { 17 | "func": "launch", 18 | "wait": 10, 19 | "command": "code /home/user/sci /home/user/sci/Sci/Basic.lean", 20 | "shell": true 21 | } 22 | ], 23 | "evaluate": [ 24 | { 25 | "type": "placeholder" 26 | } 27 | ] 28 | } 29 | -------------------------------------------------------------------------------- /tasks/VM/Lean/E-02.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "Lean", 3 | "sort": "VM", 4 | "steps": 20, 5 | "instruction": "def OP_2 (I : Set (Set α)) (h : ideal I) : Decidable (∃ A ⊆ I, (inter_family A) ∧ (∀ B ⊆ I, (inter_family B) → (#B ≤ #A)) ∧ (star A)) := by sorry", 6 | "version": "0.1", 7 | "initialize": [ 8 | { 9 | "func": "import", 10 | "libs": ["Mathlib"] 11 | }, 12 | { 13 | "func": "open", 14 | "libs": ["Cardinal"] 15 | }, 16 | { 17 | "func": "def", 18 | "expr": "def ideal (I : Set (Set α)) : Prop := ∃ F : Filter α, I = {i : Set α | ∃ f ∈ F.sets, i = fᶜ }" 19 | }, 20 | { 21 | "func": "def", 22 | "expr": "def inter_family (A : Set (Set α)) : Prop := ∀ X ∈ A, ∀ Y ∈ A, (X ∩ Y) ≠ ∅" 23 | }, 24 | { 25 | "func": "def", 26 | "expr": "def star (A : Set (Set α)) : Prop := (⋂ X ∈ A, X) ≠ ∅" 27 | }, 28 | { 29 | "func": "query", 30 | "expr": "def OP_2 (I : Set (Set α)) (h : ideal I) : Decidable (∃ A ⊆ I, (inter_family A) ∧ (∀ B ⊆ I, (inter_family B) → (#B ≤ #A)) ∧ (star A)) := by sorry" 31 | }, 32 | { 33 | "func": "launch", 34 | "wait": 10, 35 | "command": "code /home/user/sci /home/user/sci/Sci/Basic.lean", 36 | "shell": true 37 | } 38 | ], 39 | "evaluate": [ 40 | { 41 | "type": "placeholder" 42 | } 43 | ] 44 | } 45 | -------------------------------------------------------------------------------- /tasks/VM/TeXstudio/C-06.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "TeXstudio", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Modify the formula of the document in TeXstudio till it can be successfully compiled.", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "touch", 11 | "text": "\\documentclass[11pt,a4paper]{article}\n\\usepackage[utf8]{inputenc}\n\\usepackage[english]{babel}\n\\usepackage{amsmath}\n\n\\begin{document}\n\n\\noindent {\\bfseries\\LARGE Definition of Ackermann Function \\par}\n\\bigskip\\noindent\n\n$$\n\\begin{aligned}\n A(Y_1, [X, 0], Y_2) & = A(Y_1, Y_2) \\\\\n A(Y_1, [Z, X], Y_2) & = A(Y_1, [X], Y_2) \\\\\n A([a]) & = a+1 \\\\\n A(Y, [1, b+1]) & = A(Y, [1, b], [1]) \\\\\n A(Y, [1, b+1], [a+1]) & = A( Y, [1, b], [A(Y, [1, b+1], [a])] ) \\\\\n A(Y, [X, c+1, b+1], [a]) & = A(Y, [X, c+1, b], [X, c, a], [a]), X \\neq Z \\or c \\neq 0 \\\\\n A(Y, [X, c+1, 0, Z, b+1], [a]) & = A(Y, [X, c+1, 0, Z, b], [X, c, a, Z, a], [a])\n\\end{aligned}\n$$\n\n\\end{document}\n", 12 | "path": "/home/user/atelier/main.tex" 13 | }, 14 | { 15 | "func": "launch", 16 | "wait": 2.5, 17 | "command": "texstudio /home/user/atelier/main.tex", 18 | "shell": true 19 | } 20 | ], 21 | "evaluate": [ 22 | { 23 | "type": "compile", 24 | "path": "/home/user/atelier", 25 | "file": "main" 26 | } 27 | ], 28 | "ans": "\\or -> \\vee" 29 | } -------------------------------------------------------------------------------- /tasks/VM/TeXstudio/D-01.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "TeXstudio", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Read the document and submit your answer: the value of BB(4).", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "touch", 11 | "text": "\\documentclass[11pt,a4paper]{article}\n\\usepackage[utf8]{inputenc}\n\\usepackage[english]{babel}\n\n\\begin{document}\n\n\\noindent {\\bfseries\\LARGE Title \\par}\n\\bigskip\\noindent\n\nThe Busy Beaver function, BB($n$), captures the maximum number of steps an n-state Turing machine can make on a blank tape before halting, provided it halts. It's famous for growing faster than any computable function, making it non-computable and tightly linked to the limits of what machines can decide.\n\nFor a long time, the exact values of BB were only known for small n. It was well established that BB(4) = 13, but BB(5) remained a mystery for decades. Recent research has now shown that BB(5) = 4098, a huge leap that highlights just how explosively the function grows. This result not only advances our understanding of Turing machines but also deepens the connections between computation, logic, and undecidability.\n\n\\end{document}\n", 12 | "path": "/home/user/atelier/main.tex" 13 | }, 14 | { 15 | "func": "launch", 16 | "wait": 2.5, 17 | "command": "texstudio /home/user/atelier/main.tex", 18 | "shell": true 19 | } 20 | ], 21 | "evaluate": [ 22 | { 23 | "type": "stop", 24 | "value": "ANS", 25 | "args": ["13"] 26 | } 27 | ], 28 | "ans": "ANS 13" 29 | } -------------------------------------------------------------------------------- /tasks/VM/TeXstudio/D-02.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "TeXstudio", 3 | "sort": "VM", 4 | "steps": 5, 5 | "instruction": "Read the document and submit your answer: the value of B(5).", 6 | "version": "0.1", 7 | "snapshot": "sci_bench", 8 | "initialize": [ 9 | { 10 | "func": "touch", 11 | "text": "\\documentclass[11pt,a4paper]{article}\n\\usepackage[utf8]{inputenc}\n\\usepackage[english]{babel}\n\n\\begin{document}\n\nIn combinatorial mathematics, the Bell numbers count the possible partitions of a set. These numbers have been studied by mathematicians since the 19th century, and their roots go back to medieval Japan. In an example of Stigler's law of eponymy, they are named after Eric Temple Bell, who wrote about them in the 1930s.\n\n\\begin{figure}[h]\n \\vspace{-1ex}\n \\centering\n \\renewcommand{\\arraystretch}{1.8}\n \\begin{tabular}{|c|c|c|c|c|c|c|}\n \\hline\n $B(0)$\n & $B(1)$\n & $B(2)$\n & $B(3)$\n & $B(4)$\n & $B(5)$\n & $B(6)$ \\\\\n \\hline\n $1$\n & $1$\n & $2$\n & $5$\n & $15$\n & $52$\n & $203$ \\\\\n \\hline\n \\end{tabular}\n \\vspace{1ex}\n \\caption{Instances of the Bell Numbers}\n\\end{figure}\n\n\\end{document}\n", 12 | "path": "/home/user/atelier/main.tex" 13 | }, 14 | { 15 | "func": "launch", 16 | "wait": 2.5, 17 | "command": "texstudio /home/user/atelier/main.tex", 18 | "shell": true 19 | } 20 | ], 21 | "evaluate": [ 22 | { 23 | "type": "stop", 24 | "value": "ANS", 25 | "args": ["52"] 26 | } 27 | ], 28 | "ans": "ANS 52" 29 | } -------------------------------------------------------------------------------- /vm_config/pack/DEBIAN/control: -------------------------------------------------------------------------------- 1 | Package: sci-bench-cache 2 | Version: 0.1 3 | Maintainer: Ichinoe 4 | Architecture: all 5 | Description: Cache files for SciBench 6 | -------------------------------------------------------------------------------- /vm_config/pack/home/user/Downloads/ChimeraX/AlphaFold/alphafold_database.json: -------------------------------------------------------------------------------- 1 | { 2 | "database_url": "https://alphafold.ebi.ac.uk/files/AF-{uniprot_id}-F1-model_v{version}.cif", 3 | "database_version": "4", 4 | "update_interval": 1.0, 5 | "update_url": "https://www.rbvi.ucsf.edu/chimerax/data/status/alphafold_database3.json" 6 | "comment": "This file fetched by ChimeraX to determine the current version of the AlphaFold database. It is used by ChimeraX builds newer than August 29, 2022. Older builds such as ChimeraX 1.4 use a different file alphafold_database.json because they are only compatible with database version 2 because EBI changed the format of the predicted aligned error files in version 3." 7 | } 8 | -------------------------------------------------------------------------------- /vm_config/reset.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | CONN_NAME=$(nmcli -t -f NAME,TYPE connection show | grep ethernet | cut -d: -f1) 4 | 5 | if [ -z "$CONN_NAME" ]; then 6 | exit 1 7 | fi 8 | 9 | nmcli connection down "$CONN_NAME" 10 | sleep 2 11 | nmcli connection up "$CONN_NAME" 12 | -------------------------------------------------------------------------------- /vm_config/service.conf: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=OSWorld Service 3 | StartLimitIntervalSec=60 4 | StartLimitBurst=4 5 | After=network.target auditd.service 6 | 7 | [Service] 8 | ExecStart=/usr/bin/python /home/user/server/main.py 9 | WorkingDirectory=/home/user 10 | Environment="DISPLAY=:0" 11 | Restart=on-failure 12 | RestartSec=5s 13 | 14 | [Install] 15 | WantedBy=default.target 16 | --------------------------------------------------------------------------------