如何使替换词在Coq中保留最漂亮的名称(按字典顺序,最少一个)?

时间:2018-08-22 07:32:25

标签: coq coq-tactic

NavHostFragment navHostFragment = (NavHostFragment) getSupportFragmentManager().findFragmentById(R.id.home_nav_fragment); // Hostfragment NavInflater inflater = navHostFragment.getNavController().getNavInflater(); NavGraph graph = inflater.inflate(R.navigation.nav_main); graph.setDefaultArguments(getIntent().getExtras()); graph.setStartDestination(R.id.fragment1); navHostFragment.getNavController().setGraph(graph); navHostFragment.getNavController().getGraph().setDefaultArguments(getIntent().getExtras()); NavigationView navigationView = findViewById(R.id.navigationView); NavigationUI.setupWithNavController(navigationView, navHostFragment.getNavController()); 策略在coq中非常有用,它可以删除无用的变量名并使上下文清晰明了。

但是,当我们在上下文中使用subst时,通常会在结果中保留a = a1 , a1 = a2而不是a2,这使我们的上下文很难理解。

当然,您可以a一对一地rename,但是subst却不如以前方便。

所以我想知道,有没有一种简单的方法可以使subst仅保留最漂亮的变量名,该名字可以按字典顺序最小。

1 个答案:

答案 0 :(得分:2)

没有通用的方法来分析Ltac中的变量名称(没有插件)。如果通常遇到这样的情况,即等式右边有较新的变量,则可以编写一个{@ 1}}版本,该版本倾向于从右向左替换:

subst