話說河南許州管轄下的臨穎縣,有一個姓查名彝的人,是個文雅的讀書人,從小便被送進了縣學讀書,娶了附近村莊的尹貞娘為妻。
婚禮的當夜,查生正打算脫衣睡覺,尹貞娘卻玩心大起,想考教一下查生的學問,便對他說:「我聽說你從小時候便熟讀四書五經,志向遠大,不是一般的凡夫俗子,今天是你我大婚的日子,怎麼能什麼都不說就入洞房呢?我說一句上聯,你如果能對出下聯,我們便入洞房;如果你對不出來,你就應該再去讀書學習,今晚就去睡書房吧。」
查生一聽也來了興緻,當即便讓貞娘出題。貞娘隨即說出上聯:「點燈登閣各攻書。」查生想了半晌,也沒有答出來,覺得很慚愧,於是便告別新娘拿着燈直接去學校了。
當時學校里的朋友看到查生夜晚回來,都上前問他:「你今晚洞房花燭,正應該陪着新娘,怎麼扔下新人一個人來這兒?」查生見朋友問他,便把他妻子所出的詩句告訴了他的朋友,朋友們聽了也沒答出來,便都各自回房休息。
查生的朋友中有個叫鄭正的,平時為人很喜歡開玩笑,聽到查生這樣說,便趁着夜色偷偷溜出了書院。
查生走後,貞娘自己也後悔出這個對聯遊戲,其實只是想開個玩笑,並不是有心為難他,沒想到丈夫羞愧而去,心中正在後悔,這時一個人從外面推門進來,貞娘只當是查生回來了,於是問道:「你剛才對不出下聯走了,怎麼現在又突然又回來了,是不是想到下聯了?」來人也不說話,只是站在那裡。
貞娘還以為是丈夫還在生氣,便沒有再問。來人便和貞娘上床休息,天還沒亮便離開了。第二天上午,查生回到家,對貞娘施禮說:「昨天晚上你出的上聯,我才疏學淺,答不出來,心裏很慚愧,沒有陪你。」貞娘說:「你昨晚不是已經回來了嗎,怎麼這麼說?」再三追問,查生確實沒有回來過。貞娘聽了查先生的話,知道自己已經被他人所玷污,於是對查生說:「願你前程似錦,從今以後要發憤讀書,不要留戀我。」說完,便進房自縊了。過了一段時間,查生才發現,查生痛苦悲傷,昏倒在地上。父母急忙救醒,用棺材安葬了貞娘。
過了段時間,包公巡行到臨穎縣,到了公廳。見公廳庭前旁邊有一棵梧桐樹,樹下很陰涼,包公便叫人把椅子移到梧桐樹下,賞月消遣,隨口說出詩句:「移椅倚桐同玩月」,想湊成一整句,半天也想不出下句,於是便在椅子躺下。
似睡非睡之間,朦朦朧朧看見一個女子,年近二八,長得很漂亮,昂首挺胸,上前跪下說:「大人在想下半句,為什麼不說:「點燈登閣各攻書。」包括公覺得回答得很好,就問道:「你住在哪裡,叫什麼名字。」女子回答說:「大人如果要知道我從哪裡來,到縣學裏問問秀才就知道了。」說完,化作一陣清風而去。包公清醒以後,尋思這件事奇怪。於是第二天便來到縣學考察秀才們的學業。包公出了《論語》中題目「敬鬼神而遠之」一句,讓學生作文,又將「移椅倚桐同玩月」的詩句,出在最後一道題里。裏面有個秀才查彝,見詩句和他的妻子貞娘的句子成對,於是就寫了:「點燈登閣各攻書。」
學生都交卷後,包公讓秀才們在外面等候。包公看卷子,偶然看到查彝的詩句和夢中相符,便叫過查彝問道:「我看你文章寫得很平常,但詩句卻對得很工整,我相信這詩句一定是別人做的,不是你做的。你說實話,不得隱瞞。」
查生聽包公問他,便把貞娘的事報告給了包公。包括公又問他說:「我想你那晚去學堂的時候,必定有一個平日最善開玩笑的人,知道你不回,所以假裝成你,和你妻子住了,你妻子感到羞愧,所以自縊。你可以說出來,我會替你伸冤。」查生:「學生的同學中中只有鄭正,平時最喜歡開玩笑。」包公聽完,就讓公差叫來鄭正審問。鄭正開始到死不認,後來受到極刑,只得招供:貞娘的詩句,查生答不出來,到學堂和各位朋友談到這件情,我便裝成查生去了他家。以致貞娘自縊,甘願領罪。包公取了供詞,依律將鄭正正法。